条件判断
计算机之所以可以做很多自动化的任务,是因为他可以自己按照设定好的程序进行条件判断。
条件判断基本语法:
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层都一个随便玩哟')
else:
print('年龄太小不可进入')
输出结果:
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,还是会报错的,解决办法后面会说。
