# TRHX'S BLOG

# Python3 自学笔记 C04

TRHX'BLOG

2018-10-23

Python3

if语句

Python3 自学笔记第四章【if语句】

# - 4.1 一个简单的数列

给定一个汽车列表，将其中每一辆汽车的名称打印出来，要求打印 ‘bmw’ 时所有字母都要大写，其余名称只需要首字母大写：

    1
    2
    3
    4
    5
    6

    cars = ['audi' , 'bmw' , 'subaru' , 'toyota']
    for car in cars:
    	if car == 'bmw':
    	print(car.upper())
    else:
    	print(car.title())

输出结果如下：

    1
    2
    3
    4

    Audi
    BMW
    Subaru
    Toyota

# - 4.1.1 检查特定值是否包含在列表当中

> 要判断特定的值是否已包含在列表当中，可使用关键字 in

    1
    2
    3
    4

    user_names = ['andia' , 'david' , 'liwa']
    user = 'andia'
    if user in user_names:
    	print(user.title() + "is in user_name.")

输出结果如下：

    1

    Andiais in user_name.

> 要判断特定的值是否不包含在列表当中，可使用关键字 not in

    1
    2
    3
    4

    user_names = ['andia' , 'david' , 'liwa']
    user = 'kivle'
    if user not in user_names:
    	print(user.title() + "is not in user_name.")

输出结果如下：

    1

    Kivleis not in user_name.

# - 4.2 if-else 语句

    1
    2
    3
    4
    5
    6
    7

    age = input("请输入你的年龄查看是否可以去网吧：")
    if int(age) >= 18:
        print("You are old enough to go to the net bar!")
        print("You should go to net bar less,study more!")
    else:
        print("You are too young to go to the net bar!")
        print("Wait until you are 18 to go to the net bar!")

分别输入19和15，输出结果如下：

    1
    2
    3

    请输入你的年龄查看是否可以去网吧：19
    You are old enough to go to the net bar!
    You should go to net bar less,study more!

    1
    2
    3

    请输入你的年龄查看是否可以去网吧：15
    You are too young to go to the net bar!
    Wait until you are 18 to go to the net bar!

# - 4.3 if-elif-else 结构

    1
    2
    3
    4
    5
    6
    7
    8

    age = 12
    if age < 4:
    	price = 0
    elif age < 18:
    	price = 5
    else:
    	price = 10
    print("Your admission cost is $" + str(price) + ".")

输出结果如下：

    1

    Your admission cost is $5.

# - 4.3.1 使用多个 elif 代码块

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    age = 20
    if age < 4:
    	price = 0
    elif age < 18:
    	price = 5
    elif age < 65:
    	price = 15
    else:
    	price = 10
    print("Your admission cost is $" + str(price) + ".")

输出结果如下：

    1

    Your admission cost is $15.

# - 4.3.2 省略 else 代码块

Python并不要求 if-elif 结构后面必须有 else 代码块：

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    age = 20
    if age < 4:
    	price = 0
    elif age < 18:
    	price = 5
    elif age < 65:
    	price = 15
    elif age >= 65:
    	price = 10
    print("Your admission cost is $" + str(price) + ".")

输出结果仍与3.3.1一样

# - 4.4 测试多个条件

if-elif-else结构功能强大，但仅适用于只有一个条件满足的情况：遇到通过了的测试后，Python就会跳过余下的测试：

    1
    2
    3
    4
    5
    6
    7
    8

     names = ['Zhangshan' , 'Wanger']
    if 'Zhangshan' in names:
        print("Zhangshan is here!")
    if 'Wanger' in names:
        print("Wanger is here!")
    if 'Xiaoming' in names:
        print("Xiaoming is here!")
    print("All the students are here!")

输出结果如下：

    1
    2
    3

    Zhangshan is here!
    Wanger is here!
    All the students are here!

相同的程序，如果使用 if-elif-else 结构，代码将不能正确运行：

    1
    2
    3
    4
    5
    6
    7
    8

    names = ['Zhangshan' , 'Wanger']
    if 'Zhangshan' in names:
        print("Zhangshan is here!")
    elif 'Wanger' in names:
        print("Wanger is here!")
    elif 'Xiaoming' in names:
        print("Xiaoming is here!")
    print("All the students are here!")

输出结果如下：

    1
    2

    Zhangshan is here!
    All the students are here!

总之，如果我们只想执行一个代码块，就使用 if-elif-else 结构；如果要运行多个代码块，就必须使用一系列独立的 if 语句！

# - 4.5 使用 if 语句处理列表

# - 4.5.1 检查特殊元素

对3.4例子改版，加入姓名 ‘Xiaoming’，当检索到Xiaoming时告诉他，他妈妈叫他回家吃饭

    1
    2
    3
    4
    5
    6
    7

    names = ['Zhangshan' , 'Wanger' , 'Xiaoming']
    for name in names:
        if name == 'Xiaoming':
            print("Xiaoming,Your mother told you to go home for dinner!")
        else:
            print(name +"is here!")
    print("All the students are here!")

输出结果如下：

    1
    2
    3
    4

    Zhangshanis here!
    Wangeris here!
    Xiaoming,Your mother told you to go home for dinner!
    All the students are here!

# - 4.5.2 确定列表不是空的

在检索姓名前检查姓名是否为空，不为空则打印出所有姓名，为空则提示没有姓名：

    1
    2
    3
    4
    5
    6
    7

    names = []
    if names:
        for name in names:
            print(name +" is here!")
        print("All the students are here!")
    else:
        print("There is no students!")

输出结果如下：

    1

    There is no students!

在if语句中将列表名用在条件表达式中时，Python将在列表至少包含一个元素时返回Ture，并在列表为空时返回False

# - 4.5.3 使用多个列表

两个列表names_1和names_2，要求输出既在names_2中又在names_1中的元素：

    1
    2
    3
    4
    5
    6

    names_1 = ['Zhangshan' , 'Liyang'  , 'Wanger' , 'Tangyang' , 'Xiaoming']
    names_2 = ['Liyang' , 'Zhangwei' , 'Tangyang']
    for names in names_2:
        if names in names_1:
            print(names +" is here!")
    print("All the students are here!")

输出结果如下：

    1
    2
    3

    Liyang is here!
    Tangyang is here!
    All the students are here!

最后更新于 2019年6月12日

###### 上一页

#### Python3 自学笔记 C05

###### 字典

###### 下一页

#### Python3 自学笔记 C03

###### 操作列表

#### 评论

## TRHX'S BLOG

求知若饥 虚心若愚

本文目录
站内导航

- 所有文章
- 文章归档
- RSS订阅
- 我的友链
- 留言板
- 关于博主

QQ交流群

访客地图

域名转让

以下闲置域名低价转让，价格非常美丽，给钱就扔，欢迎骚扰：

52bug.club
52bug.xyz
52bug.top
NeedForSpeed.site
文章分类

- BLOG
  (3)
- CDN
  (1)
- Hexo
  (5)
- Java
  (1)
- Linux
  (2)
- Markdown
  (2)
- Python3
  (11)
- WEB前端
  (2)
- 图床
  (1)

热门标签
BLOG CDN Deepin Elicpse Github Github Pages HTTPS Hexo ICP备案 JDBC JS 预加载 Markdown Material X PEP8 PicGo Pygame Python SQL Server 2012 Ubuntu VMware if语句 input()函数 instant.page jsDeliver jsDelivr spfk while循环 主题个性化 公安备案 函数 列表 变量 图床 垃圾 字典 异常 技巧 操作列表 数据类型 文件 模块 类 继承 编辑器
最近在听