1. 程式人生 > >第一章練習題三級菜單

第一章練習題三級菜單

PE 知識點 老男孩 bsp pre == NPU append col

需求:
可依次選擇進入各子菜單
可從任意一層往回退到上一層
可從任意一層退出程序
所需新知識點:列表、字典
menu = {
    北京: {
        海澱: {
            五道口: {
                soho: {},
                網易: {},
                google: {}
            },
            中關村: {
                愛奇藝: {},
                汽車之家: {},
                
youku: {}, }, 上地: { 百度: {}, }, }, 昌平: { 沙河: { 老男孩: {}, 北航: {}, }, 天通苑: {}, 回龍觀: {}, }, 朝陽: {}, 東城: {}, },
上海: { 閔行: { "人民廣場": { 炸雞店: {} } }, 閘北: { 火車站: { 攜程: {} } }, 浦東: {}, }, 山東: {}, } current_menu = menu previous_menu = [] while True: for m in current_menu:
print(m) choice = input("請輸入你想查詢的城市,返回上級請輸1,退出請輸q") if choice in current_menu: previous_menu.append(current_menu) current_menu = current_menu[choice] elif choice == "1": if len(previous_menu) != 0: current_menu = previous_menu.pop() else: print("已是最頂層,無法再返回,請輸入您要查詢的城市,退出請輸q") elif choice == "q": print("您已退出,謝謝使用!") break else: print("您輸入的城市不正確,請重新輸入,返回上級請輸1,退出請輸q") # 思路:後期要常用兩個變量:當前層菜單和上級菜單,所以給這兩個變量做個定義,以便後面調用。 # 1、打印頂級菜單,提示用戶輸入 2、用戶輸入後進行判斷: # (1)用戶輸入名字在當前菜單裏,則進入下一級 # (2)用戶輸入名字為1且上級菜單不為空時,返回上一級菜單 # (3)用戶輸入名字為q,退出程序

第一章練習題三級菜單