该方法可实现多级菜单,目前我们先做出个三级菜单
本次实现的案例主题为【附近商家】
大家应该都用过美团中的切换城市按钮,切换不同城市中的不同区县,则展示该区县附近的美食
本次实现内容为:省地:北京、河北
城市:北京[北京]
河北[保定、石家庄]
区县:北京[朝阳、昌平、海淀]
保定[清苑、雄安]
美食:昌平[张亮麻辣烫、九宫格、兰州拉面]
清苑[水煮鱼、蒸汽牛蛙、肉夹馍]
----------------------------------------------------------------------------------------------------------------------------------代码需求分割线
#定义三级城市的字典
date = {
"北京":{
"北京":{
"朝阳":{},
"昌平":{"张亮麻辣烫","九宫格","兰州拉面"},
"海淀":{}
}
},
"河北":{
"保定":{
"清苑":{"水煮鱼","蒸汽牛蛙","肉夹馍"},
"雄安":{}
},
"石家庄":{}
}
}
while True: #保证循环展示省
for i in date: #把省放到i里输出出来
print(i) #输出
choice = input("你要进入的省:") #让用户输入要进入哪个省
if choice in date: #如果用户输入的省在定义好的date表里则执行下方代码
while True: #保证循环展示省下的市
for i2 in date[choice]: #把市放到i2里展示出来
print(i2) #输出市
choice2 = input("请输入进入的城市:") 输入进入哪个市 /下面代码大体与上方一致,不做详细注释了
if choice2 in date[choice]:
while True:
for i3 in date[choice][choice2]:
print(i3)
choice3 = input("请输入进入的区县:")
if choice3 in date[choice][choice2]:
while True:
for i4 in date[choice][choice2][choice3]:
print(i4)
break #最终展示出最后一级节点,下方没有节点了则退出最后一级循环
break #当退出最后一级节点后,会跑到最后一个循环的父级循环,则提前把父级循环给break了
break #与上个注释同样道理
break #与上个注释同样道理
这样基础的三级节点就实现了,不过这个只能保证进入到哪个节点,不能返回上一级也有很多容错没有加,这些功能后期还写的话,会优化上去的。
谢谢观看