zoukankan      html  css  js  c++  java
  • 第一章练习题三级菜单

    需求:
    可依次选择进入各子菜单
    可从任意一层往回退到上一层
    可从任意一层退出程序
    所需新知识点:列表、字典
    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车站': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    current_menu = menu
    previous_menu = []
    while True:
        for m in current_menu:
            print(m)
        choice = input("请输入你想查询的城市,返回上级请输1,退出请输q")
        if choice in current_menu:
            previous_menu.append(current_menu)
            current_menu = current_menu[choice]
        elif choice == "1":
            if len(previous_menu) != 0:
                current_menu = previous_menu.pop()
            else:
                print("已是最顶层,无法再返回,请输入您要查询的城市,退出请输q")
        elif choice == "q":
            print("您已退出,谢谢使用!")
            break
        else:
            print("您输入的城市不正确,请重新输入,返回上级请输1,退出请输q")
    
    #  思路:后期要常用两个变量:当前层菜单和上级菜单,所以给这两个变量做个定义,以便后面调用。
    #  1、打印顶级菜单,提示用户输入   2、用户输入后进行判断:
    # (1)用户输入名字在当前菜单里,则进入下一级
    # (2)用户输入名字为1且上级菜单不为空时,返回上一级菜单
    # (3)用户输入名字为q,退出程序
  • 相关阅读:
    平衡数问题
    重复值判断练习题
    小范围排序
    堆排序
    基数排序
    计数排序
    希尔排序
    快速排序
    Effective C++笔记:实现
    Effective C++笔记:设计与声明
  • 原文地址:https://www.cnblogs.com/51zf/p/9185233.html
Copyright © 2011-2022 走看看