本文标识 : P00013
本文编辑 : swagw 编程工具 : Python 阅读时长 : 4分钟
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
简单的if语句
最简单的if语句只有一个测试和一个操作:
if 判断条件:
执行语句……
在第一行中,可包含任何条件测试,而在紧跟在测试后的缩进代码块中,可执行任何操作。如果条件测试的结果为true,Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。
在if语句中,缩进的作用与for循环中相同。如果测试通过了,将执行if语句后面所有缩进的代码行,否则将会忽略他们。
var = 100
if(var==100):
print("变量var的值为100")
输出结果为
变量var的值为100
经常需要在条件测试通过了是执行一个操作,并在没有通过时执行另一个操作。在这种情况下,可使用Python提供的if-else语句。
if 判断条件:
执行语句……
else:
执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
实例:某地区在进行投票选举时,要求投票人年龄达到18岁。我们输入一个变量age(年龄),来查看相应的结果
age = 17
if(age>=18):
print("你已经到了可以投票的年龄。")
print("你投过票了吗?")
else:
print("抱歉,你还没到可以投票的年龄")
print("请您18岁以后再来")
运行结果:
抱歉,你还没到可以投票的年龄
请您18岁以后再来
读者可以改变变量age的数值,来查看不同的输出结果
经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,他一次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
在某城市,一动物园要针对游客的年龄(age)制定相应的门票价格(price),大致的方案如下:
age = 12
if(age<5):
price=0
elif(age<18):
price=10
else:
price=20
print('您所在的年龄段对应的门票价格是{}元'.format(price))
结果如下:
您所在的年龄段对应的门票价格是10元
读者可以通过修改第一行 age变量的数值,来查看代码的输出结果。
可根据需要使用任意数量的elif代码块。对于上一个例子来说,我们可以再次添加一个条件测试,对于65岁以上的老人,可以享受成人票价半价的优惠
age = 66
if(age<5):
price=0
elif(age<18):
price=10
elif(age<65):
price=20
else:
price=10
print('您所在的年龄段对应的门票价格是{}元'.format(price))
运行结果:
您所在的年龄段对应的门票价格是10元
Python并不要求if-elif结构后面必须有else代码块。
else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。
如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。
age = 54
if(age<5):
price=0
elif(age<18):
price=10
elif(age<65):
price=20
elif(age>=65):
price=10
print('您所在的年龄段对应的门票价格是{}元'.format(price))
结果:
您所在的年龄段对应的门票价格是20元