1. 程式人生 > >Python實現三級菜單

Python實現三級菜單

append google 取出 Go 依次 utf article spa 退出

需求:
    可依次選擇進入各子菜單
    可從任意一層往回退到上一層
    可從任意一層退出程序
    所需新知識點:列表、字典
只用一個while循環

 1 #! -*- coding:utf-8 -*-
 2 
 3 menu = {
 4     北京: {
 5         海澱: {
 6             五道口: {
 7                 soho: {},
 8                 網易: {},
 9                 google: {}
10             },
11             
中關村: { 12 愛奇藝: {}, 13 汽車之家: {}, 14 youku: {}, 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 current_layer = menu # 實現動態循環 47 parent_layer = [] # 保留所有父層,最後一個元素永遠為父層 48 49 while True: 50 print(- * 10, "菜單", - * 10) 51 for i in current_layer: # 遍歷打印地址 52 print(i) 53 print("請在下方輸入菜單名稱,或 b:返回上一層,q:退出\n", - * 26) 54 choice = input(" >>> ").strip() 55 if choice in current_layer: 56 if current_layer[choice]: # 判斷是否為末層 57 parent_layer.append(current_layer) # 進入子層前,添加當前層作為父層 58 current_layer = current_layer[choice] # 修改子層 59 else: 60 print(當前是最後一頁) 61 elif choice == ‘‘: 62 continue 63 elif choice == b or choice == B: # 返回上層 64 if parent_layer: # 判斷 parent_layer 是否為空 65 current_layer = parent_layer.pop() # 取出當前層父層 66 # 退出循環 67 elif choice == q or choice == Q: 68 break 69 else: 70 print("\033[34;1m輸入有誤,請重新輸入\033[0m")


Python實現三級菜單