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
判断条件还可以简写,比如写:
if x:
print('True')
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
练习
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
- 低于18.5:过轻
- 18.5-25:正常
- 25-28:过重
- 28-32:肥胖
- 高于32:严重肥胖
用if-elif
判断并打印结果:
height = 1.75
weight = 80.5
bmi = weight//(height*height)
if bmi <=18.5:
print("你的bmi是 %s ,低于18.5:过轻" % bmi)
elif(18.5 < bmi <= 25):
print("你的bmi是 %s ,18.5-25:正常" % bmi)
elif(25 <bmi <= 28):
print("你的bmi是 %s ,25-28:过重" % bmi)
elif(28 <bmi <= 32):
print("你的bmi是 %s ,28-32:肥胖" % bmi)
else:
print("你的bmi是 %s ,高于32:严重肥胖" % bmi)