条件语句if

age = 20
if age >= 18:
    print('your age is', age)
else:
    print('teenager')
如果if语句判断是True,就把缩进的两行print语句执行了,否则,去把else执行了.
当然上面的判断是很粗略的,完全可以用elif做更细致的判断:
age = 3
if age >= 18:
    print('adult')
elif age >= 6: print('teenager') else: print('kid')
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse
所以,请测试并解释为什么下面的程序打印的是teenager
age = 20
if age >= 6:
    print('teenager')
elif age >= 18: print('adult') else: print('kid')

最后看一个有问题的条件判断。用input()读取用户的输入,用if判断时会报错。
这是因为input()返回的数据类型是strstr不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
1 age=input('press your age:')
2 age=int(age)
3 if age>=18:
4     print('your age is:',age)
5     print('you are an adult.')
6 else :
7     print('your age is:',age)
8     print('you are a child.')

下面做练习:

小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

  • 低于18.5:过轻
  • 18.5-25:正常
  • 25-28:过重
  • 28-32:肥胖
  • 高于32:严重肥胖

if-elif判断并打印结果:

 1 height=1.75
 2 weight=80.5
 3 bmi=weight/(height*height)
 4 if bmi>32:
 5     print('严重肥胖')
 6 elif bmi>=28:
 7     print('肥胖')
 8 elif bmi>=25:
 9     print('过重')
10 elif bmi>=18.5:
11     print('正常')
12 else:
13     print('过轻')
 

猜你喜欢

转载自www.cnblogs.com/8-eight/p/9071366.html