Python笔记——条件判断

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的嵌套输入,会有趣一点

猜你喜欢

转载自blog.csdn.net/weixin_42710231/article/details/81326622