程序: 三级菜单
要求:
- 打印省、市、县三级菜单
- 可返回上一级
- 可随时退出程序
1 menu = { 2 ‘北京‘:{ 3 ‘海淀‘:{ 4 ‘五道口‘:{ 5 ‘soho‘:{}, 6 ‘网易‘:{}, 7 ‘google‘:{} 8 }, 9 ‘中关村‘:{ 10 ‘爱奇艺‘:{}, 11 ‘汽车之家‘:{}, 12 ‘youku‘:{}, 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 exit_flag = True # 设置跳出整个循环的指针 46 47 while exit_flag: #如果要一直在这个菜单里面,要直接用死循环; 48 #如果里面有几个循环,那么现有的知识中,只能设置一个外面的变量来设置退出条件 49 for i in menu: #显示当前这一层的内容 50 print(i) 51 52 choice1 = input(‘请输入省份,退出请输入q‘) 53 54 if choice1 in menu: 55 #这个是省份一层 56 while exit_flag: 57 for i2 in menu[choice1]: 58 print(i2) 59 choice2 = input(‘请输入区,b为上一层,q为退出‘) 60 if choice2 in menu[choice1]: 61 #这个是区一层 62 while exit_flag: 63 for i3 in menu[choice1][choice2]: 64 print(i3) 65 choice3 = input(‘请输入地点,b为上一层,q为退出‘) 66 if choice3 in menu[choice1][choice2]: 67 #这个是最底层 68 while exit_flag: 69 if i3 in menu[choice1][choice2][choice3]: 70 print(i3) 71 print("这个是最后一层") 72 choice4 = input(‘选择b,或者q‘) 73 if choice4 == "b": 74 break 75 elif choice4 == "q": 76 exit_flag =False 77 break #这里一定要记得break,这样exit_flag才能生效的,跳出整个循环 78 else: 79 print(‘你的输入有误‘) 80 break #这里一定要记得退出 81 elif choice3 == "b": 82 break 83 elif choice3 == "q": 84 exit_flag = False 85 break # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环 86 else: 87 print(‘你的输入有误‘) 88 break # 这里一定要记得退出 89 elif choice2 == "b": #elif可以多个一起用的,这样就可以避免多层嵌套if。 90 break 91 elif choice2 == "q": 92 exit_flag = False 93 break # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环 94 else: 95 print(‘你的输入有误‘) 96 break # 这里一定要记得退出 97 elif choice1 == "b": 98 break 99 elif choice1 == "q": 100 exit_flag = False 101 break # 这里一定要记得break,这样exit_flag才能生效的,跳出整个循环 102 else: 103 print(‘你的输入有误‘) 104 break # 这里一定要记得退出 105 106 break
写成这样感觉还是挺low的,后面的二十几行代码就是复制了。
时间: 2024-10-01 01:29:20