• 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('--------------------------------')
  • 相关阅读:
    BestCoder Round #67 (div.2) N bulbs(hdu 5600)
    蓝桥杯 基础练习 特殊回文数
    蓝桥杯 基础练习 十进制转十六进制
    蓝桥杯 基础练习 十六进制转十进制
    蓝桥杯 基础练习 十六进制转八进制
    蓝桥杯 入门训练 Fibonacci数列
    Codeforces 600B Queries about less or equal elements(二分查找)
    Codeforces Round #332 (Div. 二) B. Spongebob and Joke
    Codeforces Wilbur and Array
    UVA 10129-Play on Words(欧拉通路)
  • 原文地址:https://www.cnblogs.com/suke99/p/5645893.html
Copyright © 2020-2023  润新知