目录
一.简单示例
二.条件测试
1.检查条件
三.if语句
1.if语句
2.if-else语句
3.if-elif-else结构
假设有一个汽车列表,你想将其中每辆汽车的名称打印出来,对于大多数汽车以首字母大写的方式打印,对于汽车名“bmw”以全大写的方式打印。
>>> cars=["audi","bmw","byd","toyota","subaru"]
>>> for car in cars:
... if car=="bmw":
... print(car.upper())
... else:
... print(car.title())
...
Audi
BMW
Byd
Toyota
Subaru
示例中的循环首先检查当前的汽车名是否为“bmw”,若是,就以全大写的方式打印它;否则就以首字母大写的方式打印。
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
#1.检查是否相等
>>> print(car)
subaru
#一个等号是祈使,实现赋值
>>> car="bmw"
>>> print(car)
bmw
#两个等号是发问,变量car的值是它吗
>>> car=="bmw"
True
>>> car=="subaru"
False
#2.检查多个条件
>>> age_0=22
>>> age_1=18
>>> age_0>=21 and age_1>=21
False
#为增强可读性,可加括号
>>> (age_0>=21) and (age_1>=21)
False
#3.检查特定值是否包含在列表中
>>> "bmw" in cars
True
#4.布尔表达式
game_active=Ture
布尔表达式是条件测试的别名,结果是True或False。布尔值通常用于记录条件,如游戏是否正在运行,或用户是否可以编辑网站的特定内容。注意,python检查是否相等时区分大小写,两个大小写不同的值会被视为不相等。
条件测试通过则执行操作。
>>> age=19
>>> if age>=18:
... print("you are old enough to vote")
... print("have you registered to vote yet?")
...
you are old enough to vote
have you registered to vote yet?
条件测试通过时执行一个操作,没有通过时执行另一个操作。
>>> age=17
>>> if age>=18:
... print("you are old enough to vote")
... else:
... print("sorry,you are too young to vote")
...
sorry,you are too young to vote
检查超过两个的情形,可使用if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
例如:
4岁以下免费;
4~18岁收费5美元;
18岁以上收费10美元。
>>> age=12
>>> if age<4:
... print("the ticket is free")
... elif age<18:
... print("your ticket is $5")
... else:
... print("your ticket is $10")
...
your ticket is $5
#省略else代码块
>>> age=12
>>> if age<4:
... print("the ticket is free")
... elif age<18:
... print("your ticket is $5")
... elif age>=18:
... print("your ticket is $10")
...
your ticket is $5
先检查年龄是否小于4,若是,则打印第一条消息,并跳过余下的测试;若不是,则年龄大于4,再检查是否小于18,若是,则打印第二条消息并跳过余下的测试;若年龄大于18,则打印最后一条消息。可根据需要使用任意数量的elif代码块。
else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。