【Python习题】判断火车票座位(保姆级图文+实现代码)
目录
-
- 题目
- 思路
- 代码
- 实现效果
- 总结
主要内容是校设课程的习题和课外学习的一些习题。
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中
题目
类型:字符串
描述
我国高铁一等座车座席采用2+2方式布置,每排设有“2+2”方式排列四个座位,以“A、C、D、F”代表,字母“A”和“F”的座位靠窗,字母“C”和“D”靠中间走道。 二等座车座席采用2+3布置,每排设有“3+2”方式排列五个座位,以“A、B、C、D、F”代表,字母“A”和“F”的座位靠窗,字母“C”和“D”靠中间走道,“B”代表三人座中间座席。每个车厢座位排数是1-17,字母不区分大小写。
用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口、过道还是中间座席,输入不合法座位号时输出’输入错误’。
输入格式
输入一个数字和字母组合成的字符串
输出格式
‘窗口’、‘过道’、‘中间’ 或’输入错误’
示例 1输入:12F输出:窗口
示例 2输入:2C输出:过道
思路
python123上原来的参考答案是错的,没有考虑到123c12C
这种异常输入,所以要加对于异常输入的判断。
代码
def seat_numbers(seat): # 判定座位是否合法 if not(seat[:-1].isdigit()):# 万一输入是 2c1c排除 return False if 1 <= int(seat[:-1]) <= 17 and seat[-1] in 'ABCDF': return True else: return Falsedef window_or_aisle(seat):# 判定是窗口、过道还是中间 if seat[-1] in 'AF': return '窗口' elif seat[-1] in 'CD': return '过道' elif seat[-1] == 'B': return '中间'if __name__ == '__main__': Seat = input().upper() if seat_numbers(Seat): print(window_or_aisle(Seat)) else: print('输入错误')
实现效果
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-1
欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中【更多内容敬请期待】