三级菜单小程序

这个代码示例展示了如何创建一个可回退、可随时退出并能返回的三级菜单。用户可以通过输入指令在不同层级的菜单间切换,如'北京'->'海淀'->'五道口'等,支持通过'b'键返回上一级菜单,输入'q'或'quit'退出程序。该程序适用于导航复杂结构的数据菜单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现一个三级菜单,可回退,可随时退出,可返回

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

current = menu
gyf=[menu]
while True:
    for i in current.keys():
        print(i)
    a = input('>').strip()
    if a == 'b':
        current=gyf[-1]  # current最后一位都是保留上一级菜单
        if len(gyf) > 1: # 防止在一级菜单退出多次时报错
            gyf.pop()    # 拿到上级菜单后要把最后一位删除,此时最后一位就是上上级菜单
    elif a in ('q','quit'):
        break
    elif a not in current:
        continue
    else:
        gyf.append(current) #每次把当前的菜单都放到最后一位
        current=current[a]  #把下级菜单放到current,这样打印出来就是下级菜单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑*杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值