1、
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:
age=20
if age>=18:
print('your age is',age)
print('adult')
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
注意 if 和else后面都要加冒号:
age=3
if age>=18:
print('your age is',age)
print('adult')
else:
print('your age is', age)
print('teenager')
2、
上面的写法是很粗略的,完全可以用elif做更细致的判断
age=3
if age>=18:
print('adult')
elif age>=6:
print('teenager')
else:
print('kid')
3、
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
所以要注意以下的结果是teenager,其实是有问题的:
age=20
if age>=6:
print('teenager')
elif age>=18:
print('adult')
else:
print('kid')
平时写if循环的时候要注意逻辑,最好从大范围--小范围,或者从小到大,以免程序从上往下走的时候落入了不正确的区间
4、if判断条件还可以简写,比如写:
x=3
if x:
print('True')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
5、用input()读取输入的时候,容易出现字符串编码的问题,如:
birth=input('birth:')
if birth<2000:
print('00前')
else:
print('00后')
输入1994,结果报错,因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
s=input('birth:')
birth=int(s)
if birth<2000:
print('00前')
else:
print('00后')
简便方法还有:直接
birth=int(input('Input your birth:'))
6、练习题
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
自己写的答案:
height=1.75
weight=80.5
BMI=weight/(height*height)
if BMI<18.5:
print('过轻')
elif BMI<=25:
print('正常')
elif BMI<=28:
print('过重')
elif BMI<=32:
print('肥胖')
else:
print('严重肥胖')
ps:也可以做一个字符类型加input的嵌套输入,会有趣一点