if-elif-else块
Python只执行if-elif-else 结构中的一个代码块。它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python 将执行紧跟在它后面的代码,并跳过余下的测试。
例如下面的代码
age = 12
if age < 4:
print("Your admission cost is $0.")
elif age < 18:
print("Your admission cost is $25.")
else:
print("Your admission cost is $40.")
if age < 4:处的if 测试检查age是否不满4。如果是,Python 就打印一条合适的消息,并跳过
余下测试。elif age < 18:处的elif 代码行其实是另一个if 测试,仅在前面的测试未通过时才会运行。在这里,我们知道这个age不小于4 ,因为第一个测试未通过。如果这个age未满18 ,Python 将打印相应的消息,并跳过else 代码块。如果if 测试和elif 测试都未通过,Python 将运行else
代码块中的代码。
使用多个elif块
例如
age = 12
if age < 4:
price = 0
elif age < 18:
price = 25
elif age < 65:
price = 40
else:
price = 20
第二个elif 代码块通过检查确定age不到65 岁后,才将price设置为40 。请注意,在else 代码块中,必须将所赋的price值改为20,因为仅当age超过65时,才会执行这个代码块。
省略else 代码块
Python 并不要求if-elif 结构后面必须有else 代码块。在有些情况下,else 代码块很有用;
而在其他一些情况下,使用一条elif 语句来处理特定的情形更清晰:
例如
age = 12
if age < 4:
price = 0
elif age < 18:
price = 25
elif age < 65:
price = 40
elif age >= 65:#这里的elif加上限定,使代码结构更清晰
price = 20
测试多个条件
if-elif-else 结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,
Python 就跳过余下的测试。
然而,如果需要测试所有条件。在这种情况下,应使用一系列不包含elif 和else代码块的简单if 语句。
例如:
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!")
创建一个列表,包含两种topping,if 'mushrooms' in requested_toppings:该句检查,如果ture,就打印一条信息。。if 'pepperoni' in requested_toppings:处检查pepperoni的代码也是一个简单的if 语句,而不是elif 或else 语句。因此不管前一个测试是否通过,都将进行
这个测试。if 'extra cheese' in requested_toppings:处的代码检查顾客是否要求多加芝士(extra cheese)。不管前两个测试的结果如何,都会执行这些代码。每当这个程序运行时,都会执行这三个独立的测试。
本文详细解释了Python中的if-elif-else语句工作原理,包括如何执行一个代码块,使用多个elif处理不同情况,以及如何在不需要else时使用elif。还讨论了测试多个条件时的用法和示例。
2109

被折叠的 条评论
为什么被折叠?



