[Python3]三级菜单

本来呢,我自己写了一个版本,就是一个特别low的每一层都套一个while循环来实现三级菜单。

后来看了alex老师的视频,学到了一个新的更高效的版本。所以我还是只粘上高效版好了,我的那个版本应该就是大众的常规思路了= = 这个是我根据老师的思路写的,可能有些许不一样。功能是没问题的。这个例题只是仓促间完成功能需求,细节需要再进行优化。

需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序

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

current_layer = menu
layers = []

while True:
    for i in current_layer:
        print(i)
    choice = input('>>>:')
    if not choice:
        continue
    elif choice in current_layer:
        layers.append(current_layer)
        current_layer = current_layer[choice]
    elif choice == 'b':
        if len(layers) != 0:
            current_layer = layers.pop()
        else:
            print('已经是最顶层')
    elif choice == 'q':
        exit()



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值