码迷,mamicode.com
首页 > 其他好文 > 详细

第一章练习题三级菜单

时间:2018-06-14 22:48:43      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:回退   上海   网易   menu   定义   浦东   IV   inpu   需求   

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

 

第一章练习题三级菜单

标签:回退   上海   网易   menu   定义   浦东   IV   inpu   需求   

原文地址:https://www.cnblogs.com/51zf/p/9185233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!