Python多級菜單


作業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('--------------------------------')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM