天天看點

Python的三級菜單

三級菜單:

1. 可以一層一層的進入到所有層

2. 可以在每層傳回上一層

3. 可以在任意層退出, 主菜單

menu = {
    '北京':{
        '朝陽':{},
        '昌平':{},
        '海澱':{},
    },
    '上海':{
        '徐彙':{},
        '闵行':{},
        '浦東':{},
    },
    '天津':{

    },
}

current_layer = menu  # 實作動态循環
parent_layers = menu  # 儲存所有父級  最後一個元素都是父級
while True:
    for key in current_layer:
        print(key)
    choice = input(">>>").strip()
    if len(choice) == :continue
    if choice in current_layer:
        # 在進入下一層之前,把目前層追加到清單中,當使用者選擇b,就可以直接管道最後一個值出來就ok了
        parent_layers.append(current_layer):  
        current_layers = current_layers[choice]  # 改成子層
    elif choice == 'b':
        if parent_layers: # 表示![]
            current_layers = parent_layers.pop()  # 取出清單最後一個值,因為它就是目前的父級  
    elif:
        print("無此項")