Python——三级菜单问题

menu={
'江苏':{
'南京':{
'江宁':{
'大学城':{},
'龙眠大道':{},
'竹山路':{}},
'鼓楼':{
'南京大学':{},
'新街口':{},
'傣妹火锅':{}},
'秦淮':{
'夫子庙':{},
'老门东':{},
'灯宴':{}}
},
'盐城':{
'东台':{
'富安':{},
'安丰':{},
'中学':{}},
'大丰':{
'麋鹿':{},
'丹顶鹤':{},
'自然保护区':{}},
}
},
'四川':{
'成都':{
'金牛':{
'奶牛':{},
'孔雀':{},
'熊猫':{}},
'武侯':{
'金丝猴':{},
'猕猴':{},
'孙悟空':{}},
'青羊':{
'山羊':{},
'草泥马':{},
'牧羊':{}}
},
'自贡':{
'贡井':{
'贡丸':{},
'鱼丸':{},
'牛肉丸':{}},
'宜宾':{
'彬彬':{},'乒乓':{},'羽毛球':{}},
'荣县':{'荣耀':{},'荣誉':{},'润扬':{}}
}
}
}

current_layer = menu # 实现动态循环
parent_layer = [] # 保存所有父级,最后一个元素永远是父亲级
while True:
for key in current_layer:
print(key)
choice=input(">>(输入'b'返回上一级,输入'q'退出程序):").strip()
if choice in current_layer:
parent_layer.append(current_layer)
current_layer = current_layer[choice]#当前层动态变化
elif choice == "b":#返回上一级
current_layer = parent_layer.pop() # 取出列表最后一个值,因为他就是当前层的父亲级
elif choice == "q":#退出程序
break
else:
print("last level")








转载于:https://www.cnblogs.com/Vicky-M/p/9995975.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值