1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| """ 函数版 """
#打印菜单 def print_menu(): print("*"*50) print("1 查询所有车票") print("2 根据开始站点,目的站点,时间来查询") print("3 购买车票") print("4 退票") print("5 退出系统") print("*"*50)
tickets = [ {"开始站点":"广州","目的站点":"北京","日期":"20200101","票价":500,"数量":100}, {"开始站点":"广州","目的站点":"武汉","日期":"20200101","票价":300,"数量":100}, {"开始站点":"北京","目的站点":"青岛","日期":"20200101","票价":300,"数量":100}, {"开始站点":"郑州","目的站点":"北京","日期":"20200101","票价":300,"数量":100}, {"开始站点":"北京","目的站点":"丽江","日期":"20200101","票价":600,"数量":100}, ]
#查询所有车票 def query_all(): for ticket in tickets: print(ticket) #根据条件查询 def query_by_params(start_tmp,end_tmp,date): for ticket in tickets: if ticket["开始站点"] == start_tmp and ticket["目的站点"] == end_tmp and ticket["日期"] == date : return ticket return None;
#购买车票 def buy_ticket(start_tmp,end_tmp,date): ticket = query_by_params(start_tmp,end_tmp,date) if ticket == None: print("没有找到对应的票务信息") else: if ticket["数量"] > 0 : ticket["数量"] -= 1 print("购票成功") else: print("余票不足")
#退票 def return_ticket(start_tmp,end_tmp,date,price): ticket = query_by_params(start_tmp,end_tmp,date) if ticket == None: tickets.append({"开始站点":start,"目的站点":end,"日期":date,"票价":price,"数量":1}) else: ticket["数量"] += 1 print("退票成功")
#打印菜单 print_menu()
while True: model = input("请输入你选择的操作序号:") if model == "1": query_all() elif model == "2": start = input("请输入开始站点:") end = input("请输入目的站点:") date = input("请输入日期:") ticket = query_by_params(start,end,date) if ticket == None: print("没有找到你需要的车票信息") else: print("票务信息:",ticket) elif model == "3": start = input("请输入开始站点:") end = input("请输入目的站点:") date = input("请输入日期:") buy_ticket(start,end,date) elif model == "4": start = input("请输入开始站点:") end = input("请输入目的站点:") date = input("请输入日期:") price = input("请输入票价:") return_ticket(start,end,date,price) elif model == "5": break else: print("输入序号有误,请重新输入")
|