簡單練習:Python三級菜單優化
阿新 • • 發佈:2017-12-07
nbsp while 重新定義 pri 浦東 continue end pan true
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 }
代碼如下:
1 current_layer=menu #當前層 2 last_layers=[menu] #上一層 3 while True: 4 for key in current_layer: #打印第一層菜單 5 print(key) 6 choice=input(">>:").strip() #選擇第二層菜單 7 if choice in current_layer: 8 last_layers.append(current_layer) #進入下一層菜單前,把當前層菜單加入上一次菜單中 9 current_layer=current_layer[choice] #當前層菜單被重新定義,進入循環打印下一層菜單 10 if choice==0: #選擇菜單層為空,結束本次循環 11 continue 12 if choice=="q": #選擇菜單層為“q”,結束本層循環 13 break 14 if choice=="b": #選擇菜單層為“b”,返回上一層菜單 15 current_layer=last_layers[-1] #返回上一層菜單前,當前層被重新定義 16 last_layers.pop() #刪除最後一次進入下一層菜單所加入的上一層列表數據 17 print("程序結束!") 18
簡單練習:Python三級菜單優化