实例4:模拟乘客进站流程
火车和地铁的出现极大地方便了人们的出行,但为了防止不法分子,保障民众安全,进站乘坐火车或者乘坐地铁之前,需要先接受安检。部分车站先验票后安检,亦有车站先安检后验票。以先验票后安检的车站为例,乘客的进站流程如下:
(1)验票:检查乘客是否购买了车票
- 如果没有车票,不允许进站
- 如果有车票,对行李进行安检。
(2)行李安检:检查刀具的长度是否超过10厘米
- 如果超过10厘米,提示刀的长度,不允许上车
- 如果不超过10厘米,顺利进站。
本实例要求编写程序,模拟乘客进站流程。
实例目标
- 熟练使用if-else语句
- 熟练使用if嵌套语句
实例分析
无论乘客乘坐火车还是地铁都需要进行安检,例如在乘客火车时,首先需要对车票进行判断,如果乘客没有车票则不允许进站,如果乘客有车票则允许进站,并需要对所携带的行李进行安检,如果行李中所携带的刀具长度超过10厘米,则不允许乘客乘坐火车,如果所携带刀具小于10厘米,则允许乘客上车。
代码实现
ticket = 1 # 用1代表有车票
knife_length = 9 # 刀子的长度,单位为cm
if ticket == 1:
print("有车票,可以进站")
if knife_length < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
首先设定分别表示是否携带车票以及刀具长度的变量ticket与knife_length,当变量ticket值为1时表示携带车票,执行外层if语句中的代码,接着使用if语句判断刀具的长度,如果刀具长度小于10厘米则使用print()函数输出“通过安检”与“终于可以见到Ta了,美滋滋~~~”,否则使用print()函数输出“没有通过安检”与“刀子的长度超过规定,等待警察处理...”。
如果变量ticket值不为1时则表示没有携带车票,此时执行外层else语句中的代码,即使用print()函数输出“没有车票,不能进站”和“亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~”。
代码测试
运行代码,控制台输出结果如下:
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~