• Day06 作业


    Day06 作业

    要求

    1. 打印省、市、县三级菜单
    2. 可返回上一级
    3. 可随时退出程序
    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    
    continue_tag = True
    #last_menu用于保存访问过的菜单
    last_menu = []
    while continue_tag:
        for key in menu:
            print(key)
        next_level = input("输入列表中选项进入下一层菜单,输入“q”退出, 输入“b”返回上一层:
    ").strip()
        if next_level == "q":
            continue_tag = False
        #用户选择返回上层菜单,如果last_menu中还记录有访问过的菜单,则取出最后访问的菜单
        elif next_level == "b" and len(last_menu):
            menu = last_menu.pop()
        #用户选择下层菜单,如果有下层菜单,则准备进入下层菜单,并添加当前菜单到last_menu末尾
        elif menu.get(next_level):
            last_menu.append(menu)
            menu = menu.get(next_level)
        else:
            print("无上层菜单或下层菜单")
            continue
    # todo 程序存在的问题last_menu中保存有重复的数据,如果要访问的菜单节点很多,会浪费内存
    
    
  • 相关阅读:
    openjump遇到的一些问题
    kettle安装教程/安装失败
    C# string和byte[]数组之间相互转换
    C# 各种进制转换
    C#AE创建FeatureDataset/创建数据、集要素集
    ArcCatalog/arcgis怎么连接postgresql/postpis
    梦断代码阅读笔记03
    体温冲刺完成
    体温冲刺
    体温作业
  • 原文地址:https://www.cnblogs.com/YajunRan/p/11521553.html
Copyright © 2020-2023  润新知