一、条件测试
每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试。
①检查是否相等
②检查是否相等时不考虑大小写
③检查是否不相等
④比较数字
⑤检查多个条件
- 使用and检查多个条件
- 使用or检查多个条件
⑥检查待定值是否包含在列表中
⑦检查特定值是否不包含在列表中
⑧布尔表达式
二、if语句
1、简单if语句
2、if-else语句
age = 17
if age >= 18:
print("You are old enough to vote!")
print("Hava you registered to vote yet?")
else:
print("Sorry,you are too young to vote.")
print("Please registered to vote as soon as you turn 18!")
结果:
3、if-elif-else结构
age = 12
if age < 4:
print("Your admission cost is $0.")
elif age < 18:
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
结果:
4、使用多个elif代码块
age = 12
if age < 4:
price = 0
elif age < 18:
price = 15
elif age < 65:
price = 10
else:
price = 5
print("Your adminssion cost is $" + str(price) +".")
结果:
5、省略else代码块
Python并不要求if-elif结构后面必须有else代码块。有些情况下,else代码块很有用;而在其他一些情况下,使用一条elif语句来处理特定的情形更清晰。
age = 12
if age < 4:
price = 0
elif age < 18:
price = 15
elif age < 65:
price = 10
elif age>=65:
price = 5
print("Your adminssion cost is $" + str(price) +".")
else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码会执行,这个可能会引入无效甚至恶意数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样,你就可以肯定,仅当满足相应条件时,你的代码才会执行。
6、测试多个条件(列表——in)
if-elif-else结构功能强大,但仅适用于只有一个条件满足时的情况。然而,有时候必须检查你关心的所有条件,适合使用这种方法。
requested_toppings = ['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:
print("Adding pepperoni")
if 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
print("\nFinished making your pizza!")
结果:
总之,如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就使用一系列独立的if语句。
三、使用if语句处理列表
通过结合使用if语句和列表,可以完成一些有趣的任务:对列表中特定的值做特殊处理;高效地管理不断变化的情形,如餐馆是否还有特定的食材;证明代码在各种情形下都将按预期那样运行。
1、检查特殊元素
requested_toppings = ['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:
if requested_topping == 'green peppers':
print("Sorry,we are out of green peppers right now.")
else:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
结果:
2、确定列表不是空的
requested_toppings = []
if requested_toppings:
for requested_topping in requested_toppings:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
else:
print("Are you sure you want a plain pizza?")
结果:
3、使用多个列表
available_toppings = ['mashrooms','olives','green peppers',
'pepperoni','pineapple','extra cheese']
requested_toppings = ['mashrooms','french fries','extra cheese']
for requested_topping in requested_toppings:
if requested_topping in available_toppings:
print("Adding " + requested_topping + ".")
else:
print("Sorry,we don't hava " + requested_topping + ".")
print("\nFinished making your pizza!")
结果:
四、设置if语句的格式
PEP 8提供的唯一建议是,在诸如==、>=和<=等比较运算符两边各添加一个空格。
例如,if age < 4:要比 if age<4:好。