作業2:多級菜單
三級菜單
可依次選擇進入各子菜單
所需新知識點:列表、字典
1、流程圖
2、登錄界面,輸入對應索引
#!/usr/bin/env python3 # -*- coding:utf-8 -*- # Version:Python3.5.0 # 初始化城市信息 city_dict = {'廣州': {'天河': ['天河體育館', '金山大夏'], '越秀': ['越秀公園', '光孝寺'], '番禺': ['長隆歡樂世界', '大夫山']}, '深圳': {'福田': ['蓮花山', '賽格'], '龍華': ['元山公園', '龍城廣場'], '南山': ['世界之窗', '歡樂谷']}, '佛山': {'禪城': ['梁園', '孔廟'], '南海': ['千燈湖', '南國桃園'], '順德': ['清暉園', '西山廟']}} # 創建城市索引列表 city_index = [(index, key) for index, key in enumerate(city_dict)] city_index.append((len(city_index), '退出')) # 增加退出選項 while True: print('歡迎查詢城市信息') print('--------------------------------') for i in city_index: # 打印城市索引菜單 for j in i: print(j, end=' ') print('') get_city = input('請選擇查詢的索引號:') if not get_city.isdigit(): print('請輸入一個數字索引號。') continue elif int(get_city) >= len(city_index): # 輸入索引號大於等於城市索引號長度 print('輸入的數字太大,請重輸入。') continue elif int(get_city) == len(city_index)-1: # 最大的索引號為 退出程序對應的索引號 print('歡迎再次登錄,bye bye!') break else: choose_city = city_index[int(get_city)][1] # 獲取選擇的城市名稱 # 創建 區 的索引列表 area_index = [(index, key) for index, key in enumerate(city_dict[choose_city])] area_index.append((len(area_index), '返回')) # 增加返回上一級菜單選項 while True: for i in area_index: # 打印選擇城市的區索引菜單 for j in i: print(j, end=' ') print('') get_area = input('請選擇查詢的索引號:') if not get_area.isdigit(): print('請輸入一個數字索引號。') continue elif int(get_area) >= len(area_index): # 輸入索引號大於城市索引號 print('輸入的數字太大,請重輸入。') continue elif int(get_area) == len(area_index)-1: # 最大的索引號為 上級菜單對應的索引號 print('返回到上一級菜單。') break else: choose_area = area_index[int(get_area)][1] # 獲取選擇區的名稱 print(city_dict[choose_city][choose_area]) # 打印該區的信息 print('--------------------------------')