zoukankan      html  css  js  c++  java
  • 三级菜单

    数据结构:
    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("输入错误,请重新输入")
    
    
  • 相关阅读:
    jsp%不能解析
    hibernate映射数据库时@ManyToOne和@OneToMany
    PSP需求分析文档
    医院挂号系统前景与范围文档
    PSP个人软件开发工具需求分析文档
    英雄联盟战队管理系统项目前景与范围文档
    在学习抛出异常的过程中,关于错误信息 TypeError: exceptions must derive from BaseException 的原因
    python面向对象__slots__变量的运用
    初学过程中,对于python if__name__=='main'的作用
    使用C模拟面向对象实现如java的LinkedList集合(好精彩)
  • 原文地址:https://www.cnblogs.com/bimg1999/p/10625343.html
Copyright © 2011-2022 走看看