標籤:exit 嵌套 googl 愛奇藝 嵌套if python class 迴圈 put
程式: 三級菜單
要求:
- 列印省、市、縣三級菜單
- 可返回上一級
- 可隨時退出程式
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 = False101 break # 這裡一定要記得break,這樣exit_flag才會生效的,跳出整個迴圈102 else:103 print(‘你的輸入有誤‘)104 break # 這裡一定要記得退出105 106 break
寫成這樣感覺還是挺low的,後面的二十幾行代碼就是複製了。
Python程式3——三級菜單程式