• 三级菜单


    数据结构:
    menu = {
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '老男孩':{},
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车站':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }


    基础需求:75% 1. 可依次选择进入各子菜单 2. 可从任意一层往回退到上一层 3. 可从任意一层退出程序 所需新知识点:列表、字典 升级需求:10% 1. 使用一个while循环,且整体代码量不超过15行

    下面是拓扑图

    然后是代码,这次代码的主要问题是变量名起的意义不大,要求都已经实现

    1.可依次选择进入各子菜单

    2. 可从任意一层n往回退到上一层

    3. 可从任意一层q退出程序

    请在pychrom里面运行

    请按照程序提醒输入,不然要重新输入

    #!./usr/bin/env.python3
    # _*_ coding:_utf-8 _*_
    # .Date:.2019/3/25

    menu = {
    '北京':{
    '海淀':{
    '五道口':{
    'soho':{},
    '网易':{},
    'google':{}
    },
    '中关村':{
    '爱奇艺':{},
    '汽车之家':{},
    'youku':{},
    },
    '上地':{
    '百度':{},
    },
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '北航':{},
    },
    '天通苑':{},
    '回龙观':{},
    },
    '朝阳':{},
    '东城':{},
    },
    '上海':{
    '闵行':{
    "人民广场":{
    '炸鸡店':{}
    }
    },
    '闸北':{
    '火车站':{
    '携程':{}
    }
    },
    '浦东':{},
    },
    '山东':{},
    }


    count = menu # 开始把字典赋值,但是这个是一个动态的,并
    count_1 = [] # 创建一个列表,处理返回选项
    while True:
    for bq in count: # 把动态值赋给给bp
    print(bq)
    name = input("请问您要查询哪里呢!!退出请按(q)返回上一级请按(n): ").strip()
    if name in count: # 在字典中搜索输入值
    count_1.append(count) # 找到后执行,把动态值追加列表count_1里面
    count = count[name] # 重新赋值下级列表给count
    elif name == "n":
    if count_1:
    count = count_1.pop() # 把列表后面追加的值删掉后,重新赋值给count
    elif name == "q":
    break
    else:
    print("输入错误,请重新输入")
    
    
  • 相关阅读:
    控制器生命周期逻辑调用
    数据持久化
    Mac屏幕录制Gif
    iOS开发应用上架必读最新苹果审核规则
    过滤字符串中的非汉字、字母、数字
    文字加描边
    博客全局修改需求
    iOS Xcode12 运行iOS15系统程序卡在启动页要等很久才能进入主页
    macOS环境:安装Go(21-10-22完)
    关闭WIN10自动配置 IPV4 地址 169.254解决方法
  • 原文地址:https://www.cnblogs.com/bimg1999/p/10625343.html
Copyright © 2020-2023  润新知