Python的xiao习08-基础知识5,条件判断

197 阅读4分钟

条件判断


计算机之所以可以做很多自动化的任务,是因为他可以自己按照设定好的程序进行条件判断。

条件判断基本语法:

if (判断条件):  
    <执行代码1>
    <执行代码1>
    ...
else:
    <执行代码2>
    <执行代码2>
    ...

条件判断的语法是靠缩进来判断执行代码的,如果判断条件为True,执行if到else之间所有的缩进代码。如果返回结果是False,执行else下面的所有的缩进代码。
第一行代码:通过关键字“if”来进入条件判断语法当中,判断括号内的条件是否成立括号内填写返回True或者False的表达式
如果是True,执行if到else之间所有的缩进代码。 如果是False,执行else下面的所有的缩进代码。 如果填写数字,0表示False,其他的任何数,不论正负都表示True

情景1:
一个娱乐广场,输入用户年龄,根据年龄判断是否可以进入游乐场,在Python程序中,用if语句实现:

age = 20  #age是年龄的意思
                                        #一一对应可以这样辅助理解下面的代码:
if (age >= 18):                         #如果(年龄 大于等于  18)的这个条件满足的话:执行缩进的代码
    print('已满18周岁,可以进入')       #已满18周岁,可以进入
    print('年龄:',age)                 #年龄:age
else:                                   #如果上面的条件不满足的话,那么:执行缩进的代码
    print('未满18周岁禁止入内')         #未满18周岁禁止入内    
    print('年龄:',age)                 #年龄:age

最终的输出结果是:

已满18周岁,可以进入
年龄:20

条件判断基本语法:

上边只是粗略的判断,我们还可以更细致的进行判断。
情景2:
娱乐广场越做越大,开辟了适合不同年龄段的娱乐场所,分年龄段进行判断:

age = 17
if(age >= 18):
    print('4楼以上的娱乐场所可以随意使用')
elif(age >=15 ):
    print('2、3楼的娱乐场所可以随意使用')
elif(age >= 10):
    print('小朋友,整个1层都一个随便玩哟')
elseprint('年龄太小不可进入')

输出结果:

2、3楼的娱乐场所可以随意使用

if语句执行的特点是从上往下,按照条件执行代码,当一个条件满足时、不再执行其他条件下的代码 elif 等价于 else if以后见到了要知道,意思相同。
情景3:
广场越来越火,楼层越来越高,来此地玩的人越来越多,通过员工检查游客的年龄需要的人力物力太大,多以公司进购了一批机器,让用户输入自己的年龄。通过系统来判断是否可以进入游乐场。
代码3.1(错误版):

age = input('age:')
if(age >= 18):
    print('40楼以上的娱乐场所可以随意使用')
elif(age >=15 ):
    print('20-30楼的娱乐场所可以随意使用')
elif(age >= 10):
    print('小朋友,6-10层都随便玩哟')
elif(age >= 5):
    print('小朋友,1-5层都随便玩哟')
else:
    print('年龄太小不可进入')

这样写代码运正常,当我们输入年龄的时候一个错误:

Traceback (most recent call last):
  File "A:/Python/Python_Project/Python01/MyFirstFile.py", line 2, in <module>
    if(age >= 18):
TypeError: '>=' not supported between instances of 'str' and 'int'

这是因为,使用input()获取到的值是一个字符串类型,而我们的 >= 只能对数字类型的值进行比较,所以我们需要把字符串(str)转换成整数类型(int),这个时候我们需要用Python提供的int(),来吧字符串转换为整数类型。
代码3.2:(正确版)

age_str = input('age:')
age_int = int(age)
if(age_int >= 18):
    print('40楼以上的娱乐场所可以随意使用')
elif(age >=15 ):
    print('20-30楼的娱乐场所可以随意使用')
elif(age >= 10):
    print('小朋友,6-10层都随便玩哟')
elif(age >= 5):
    print('小朋友,1-5层都随便玩哟')
else:
    print('年龄太小不可进入')

运行程序正常启动,输入任意数字123,运行正常,程序结束 注意,不要当一个智障用户输入abc,还是会报错的,解决办法后面会说。
3EWFyR.jpg 3EWil9.jpg