条件判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
if语句的完整形式就是:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
复制代码
根据Python的缩进规则,如果if
语句判断是True
,就把缩进的两行语句执行了,否则如果if
判断是False
,不要执行if
的内容,继续进入elif
的判断,以此类推,到最后都为False
,则把else
执行了。
if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else
。
if
判断条件还可以简写,比如写:
if x:
print('True')
复制代码
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
注意
- 不要少写了冒号
:
-
elif
是else if
的缩写,完全可以有多个elif
来个例子:
age = input('请输入您的年龄')
if age > 18:
print('这里的电影随便看')
elif 18 >= age > 6::
print('你还没有成年呢,不能乱看哦')
else:
print('小屁孩,太小了')
复制代码
输入18
,结果报错:
Traceback (most recent call last):
File "/Users/Song/PycharmProjects/test/text.py", line 2, in <module>
if age > 18:
TypeError: '>' not supported between instances of 'str' and 'int'
复制代码
这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
s = input('请输入您的年龄')
age = int(s)
if age > 18:
print('这里的电影随便看')
elif 18 >= age > 6::
print('你还没有成年呢,不能乱看哦')
else:
print('小屁孩,太小了')
复制代码
再次运行就可以得到正常结果了。