Python入門-三級菜單
阿新 • • 發佈:2018-05-20
浦東 ide 子菜單 退出 題目 NPU sid append 裝逼
作業題目: 三級菜單
-
作業需求:
menu = { ‘北京‘:{ ‘海澱‘:{ ‘五道口‘:{ ‘soho‘:{}, ‘網易‘:{}, ‘google‘:{} }, ‘中關村‘:{ ‘愛奇藝‘:{}, ‘汽車之家‘:{}, ‘youku‘:{}, },‘上地‘:{ ‘百度‘:{}, }, }, ‘昌平‘:{ ‘沙河‘:{ ‘優衣庫‘:{}, ‘北航‘:{}, }, ‘天通苑‘:{}, ‘回龍觀‘:{}, }, ‘朝陽‘:{}, ‘東城‘:{}, }, ‘上海‘:{ ‘閔行‘:{ "人民廣場":{‘炸雞店‘:{} } }, ‘閘北‘:{ ‘火車站‘:{ ‘攜程‘:{} } }, ‘浦東‘:{}, }, ‘山東‘:{}, }
需求: 可依次選擇進入各子菜單 可從任意一層往回退到上一層 可從任意一層退出程序 所需新知識點:列表、字典
基礎版:
while True: for i in menu: print(i) province = input("請選擇省份: (按Q退出)") if province == ‘Q‘: exit() else: print(‘輸入錯誤‘) if province in menu: while True: for i in menu[province]: print(i) city = input("請選擇市: (按Q退出,q返回)") if city == ‘Q‘: exit() if city == ‘q‘: break else: print(‘輸入錯誤‘) if city in menu[province]: while True: for i in menu[province][city]: print(i) county = input("請選擇區或縣: (按Q退出,q返回)") if county == ‘Q‘: exit() if county == ‘q‘: break else: print(‘輸入錯誤‘) if county in menu[province][city]: while True: for i in menu[province][city][county]: print(i) choice = input(‘Q退出,q返回:‘) if choice == ‘Q‘: exit() if choice == ‘q‘: break else: print(‘輸入錯誤‘)
裝逼版:
rank = menu last_rank = [] while True: for i in rank: print(i) choice = input(‘>:‘).strip() if choice in rank: last_rank.append(rank) # 將當前菜單添加到列表 rank = rank[choice] # 進入下一層菜單 elif choice == ‘b‘: if len(last_rank) != 0: rank = last_rank.pop() # 刪除列表最後一位元素,從而返回上一層 elif choice == ‘Q‘: exit()
最裏層和最外層還可以增加相應提示。
Python入門-三級菜單