python全棧筆記-day03-chapter2 homework1_menu
阿新 • • 發佈:2018-12-11
# #多級選單 # 需求: # 現有省、市、縣3級結構,要求程式啟動後,允許使用者可依次選擇進入各子選單 # 可在任意一級選單返回上一級 # 可在任意一級選單退出程式 # 所需知識點:列表、字典 location = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '網易':{}, 'google':{} }, '中關村':{ '愛奇藝':{}, '汽車之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龍觀':{}, }, '朝陽':{}, '東城':{}, }, '上海':{ '閔行':{ "人民廣場":{ '炸雞店':{} } }, '閘北':{ '火車戰':{ '攜程':{} } }, '浦東':{}, }, '山東':{}, } current_layer = location#記錄當前層 layers = [ ]#記錄進入過的層 while True: for k in current_layer: print(k) choice = input('>>') if not choice: continue if choice in current_layer: if len(current_layer[choice]) != 0:#還有下一層 layers.append(current_layer) current_layer = current_layer[choice]#進入下一層 else: print('您已在底層') elif choice == 'b': if len(layers) != 0: current_layer = layers.pop() else: print('您已在首層') elif choice == 'q': print('bye') break else: print('不存在') #非常多重複程式碼 # exit_flag1 = False#標誌位1 # while not exit_flag1:#選擇省級 # for k in location: # 輸出省級menu # print(k) # choice1 = input('請輸入(b:返回上一級,q:退出):') # if not choice1: continue#如果輸入回車(沒輸入),則繼續輸入 # elif choice1 == 'q':#判斷輸入是否為q # exit_flag1 = True # elif choice1 == 'b': # print('您已在第一級') # else: # exit_flag2 = False # 標誌位2 # if choice1 in location:#如果該名稱存在 # while not exit_flag2:#選擇市級 # for i in location[choice1]: # 輸出市級menu # print(i) # choice2 = input('請輸入(b:返回上一級,q:退出):') # if not choice2: continue#如果輸入回車(沒輸入),則繼續輸入 # elif choice2 == 'q': # 判斷輸入是否為q # exit_flag1 = True # exit_flag2 = True # elif choice2 == 'b': # exit_flag2 =True # else: # exit_flag3 = False # 標誌位3 # if choice2 in location[choice1]:#如果該名稱存在 # while not exit_flag3: # for n in location[choice1][choice2]: # 輸出縣級menu # print(n) # choice3 = input('請輸入(b:返回上一級,q:退出):') # if choice3 == 'q': # 判斷輸入是否為q # exit_flag1 = True # exit_flag2 = True # exit_flag3 = True # elif choice3 == 'b': # exit_flag3 = True # else: # if choice3 in location[choice1][choice2]: # print('您已選擇',choice1,choice2,choice3) # exit_flag1 = True # exit_flag2 = True # exit_flag3 = True # else: # print('該名稱不存在') # continue # else: # print('該名稱不存在') # continue # else: # print('該名稱不存在') # continue