三级菜单
2017-09-15 16:55:24
本博客内多为原创,如需转载,请注明出处,谢谢。
功能介绍:
程序可以实现三级菜单功能,可依次选择进入各子菜单,用户可以返回到上一层菜单,也可以随时退出。
1 # _*_ coding:utf-8 _*_ 2 # _auther_:Mr.chan 3 4 import sys 5 6 # 打印一级菜单 7 def menu(): 8 while True: 9 print("一级菜单".center(30,'-')) 10 for index,key in enumerate(areas.keys(),1): # 循环并打印省级 11 print(index,key) 12 choice1 = input("[q=quit]请输入:") 13 if choice1 in areas.keys(): 14 menu2(choice1) 15 break 16 elif choice1 == "q": 17 sys.exit("退出系统") 18 elif choice1 == "b": 19 print("这里是一级菜单,不能返回") 20 else: 21 print("输入有误,请重新输入\n") 22 continue 23 24 # 打印二级菜单 25 def menu2(choice1): 26 while True: 27 print("二级菜单:".center(30,'-')) 28 for index,key in enumerate(areas[choice1].keys(),1): # 循环并打印地级市 29 print(index,key) 30 choice2 = input("[b=back q=quit]请输入:") 31 if choice2 in areas[choice1].keys(): 32 menu3(choice1,choice2) 33 break 34 elif choice2 == "q": 35 sys.exit("退出系统") 36 elif choice2 == "b": 37 menu() 38 else: 39 print("输入有误,请重新输入\n") 40 continue 41 42 # 打印三级菜单 43 def menu3(choice1,choice2): 44 while True: 45 print("三级菜单:".center(30,'-')) 46 for index,key in enumerate(areas[choice1][choice2].keys(),1): # 循环并打印县级市 47 print(index,key) 48 choice3 = input("[b=back q=quit]请输入:") 49 if choice3 in areas[choice1][choice2].keys(): 50 for key in areas[choice1][choice2][choice3]: 51 print(key) 52 choice4 = input('\n没有啦,按回车键返回上一级,按q退出:') 53 if choice4 == 'q': 54 sys.exit("退出系统") 55 else: 56 pass 57 elif choice3 == "q": 58 sys.exit("退出系统") 59 elif choice3 == "b": 60 menu2(choice1) 61 else: 62 print("输入有误,请重新输入") 63 continue 64 65 areas = { 66 '广西':{ 67 '梧州':{ 68 '岑溪':['豆腐酿','新圩米粉','茄子酿','白切鸡'], 69 '藤县':['1','2','3'], 70 '苍梧':['4','5','6'] 71 }, 72 '南宁':{ 73 '武鸣区':['大明山','伊岭岩','灵水','明秀园'], 74 '宾阳县':['鱼生','宾阳酸辣粉'] 75 } 76 }, 77 '广东': { 78 '佛山': { 79 '禅城': ['1','2'], 80 '祖庙': ['1','2'] 81 }, 82 '广州':{ 83 '天河':['1','2'], 84 '番禺':['1','2'] 85 }, 86 '深圳': { 87 '福田区':['1','2'], 88 '龙岗区':['1','2'] 89 } 90 }, 91 '湖南': { 92 '长沙市': { 93 '长沙县': ['1', '2'], 94 '宁乡县': ['1', '2'] 95 }, 96 '湘潭市': { 97 '雨湖区': ['1', '2'], 98 '湘潭县': ['1', '2'] 99 }, 100 '娄底市': { 101 '娄星区': ['1', '2'], 102 '新化县': ['1', '2'] 103 } 104 } 105 } 106 107 #执行函数 108 menu()