计算机之所以能自动完成,或者说按照我们设定的条件去执行相应的操作,就是因为其具有条件判断的能力。
比如随着年龄或者成绩输入的不同,会相应打印出不同的内容。
>>> age = 20
>>> if age >= 18:
print('your age is',age)
print('adult')
your age is 20
adult
python 采用缩进原则,如果条件判定为真,则把缩进的语句执行了。上例中,当if语句判定为Ture时,则把下面两行缩进的语句执行。当然我们也可以加一个else语句,此时如果if判定为False,则执行else中的语句。
>>> age = 20
>>> if age >= 30:
print('your age is',age)
print('adult')
else:
print('your age is',age)
print('teenager')
your age is 20
teenager
如果有多个分支需要分别判定,此时我们可以采用 elif 语句,elif其实是else if的缩写,所以一个完整的 if 判定语句如下
if <判定语句1>:
执行语句1
elif <判定语句2>:
执行语句2
elif <判定语句3>:
执行语句3
......
else:
执行语句
if 语句从上至下开始执行,若某一条件符合,则执行相应的语句,其后的语句不再判断和执行。
>>> age = 5
>>> if age >=18:
print('adult')
elif age >=6:
print('teenager')
else:
print('kid')
kid
再看 input, 前面https://blog.csdn.net/baidu_38485156/article/details/81236907我们遇到过输入时出现的错误,我们提到是由于input 函数把输入默认为字符串导致的。例如
>>> birth = input('birth; ')
birth; 1982
>>> if birth <= 2000:
print('00前')
else:
print('00后')
Traceback (most recent call last):
File "<pyshell#154>", line 1, in <module>
if birth <= 2000:
TypeError: '<=' not supported between instances of 'str' and 'int'
那么如何解决这类问题?由于 input 返回的数据类型是str,不能和整型直接做比较,所以我们需要把 str 转换为整型,再进行比较。python 中内置了强制数据类型转换函数,int(),float()等
>>> birth = input('birth: ')
birth: 1982
>>> birth = int(birth)
>>> if birth < 2000:
print('00前')
else:
print('00后')
00前