第一章练习题三级菜单

Posted 51zf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章练习题三级菜单相关的知识,希望对你有一定的参考价值。

需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典
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,退出程序

 

以上是关于第一章练习题三级菜单的主要内容,如果未能解决你的问题,请参考以下文章

python练习题:三级菜单

Python之路 day2 字典练习题之 三级菜单

python练习——moudule01——三级菜单

Python练习_三级菜单

python- 简单练习:python三级菜单优化

课堂练习:Python-三级菜单