Python进阶之路——六

15、三级菜单Demo——改进版

menu = {
    '安徽':{
        '合肥':{'瑶海','庐阳','蜀山'},
        '淮南':{'田家庵','潘集','凤台'},
        '阜阳':{'颍上','临泉','阜南'},
    },
    '上海':{
        '浦东':{'陆家嘴','东方明珠','世纪大道'},
        '杨浦':{'五角场','复旦大学','新江湾城'},
        '黄埔':{'外滩','人民广场','城隍庙'},
    },
    '北京':{
        '朝阳':{'国贸','望京','三里屯'},
        '海淀':{'五道口','中关村','清华园'},
        '昌平':{'沙河','天通苑','回龙观'},
    }
}
current_layer = menu
parent_layer = []
while True:
    for key in current_layer:
        print(key)
    print('current_layer =',current_layer)  # 打印当前层
    print('parent_layer =',parent_layer)    #打印parent_layer中的元素
    choice = input('>>').strip()
    if len(choice) == 0: continue
    if choice in current_layer:
        parent_layer .append(current_layer)#在parent_layer列表中加入当前层,也就是是下一层的父亲层(上一层)
        current_layer = current_layer[choice]
    elif choice == 'b':
        if parent_layer:
            current_layer = parent_layer.pop()#删除parent_layer列表中的最后一个元素,便可返回到上一层
    elif choice == 'Q':
        break
    else:
        print("您输入的有误!")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值