微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Python实现三级菜单要求:1.打印省市县三级;2.可返回上一级;3.可随时退出程序

代码实现:

menu ={
‘北京‘:{
‘朝阳‘:{
‘优衣库‘:{
‘A‘:{},
‘B‘:{},
},
‘链家‘:{
‘C‘:{},
‘D‘:{}
}
},
‘望京‘:{
‘E‘:{},
‘F‘:{}
},
‘海淀‘:{
‘G‘:{},
‘H‘:{}
}
},
‘上海‘:{
‘浦东‘:{
‘陆家嘴‘:{
‘CICC‘:{},
‘摩根‘:{},
‘外滩‘:{},
},
‘明航‘:{},
‘静安‘:{}
},
‘四川‘:{
‘成都‘:{
‘武侯区‘:{},
‘郫县‘:{},
‘春熙路‘:{}
},
‘绵阳‘:{},
‘广元‘:{
‘X‘:{
‘X1‘:{},
‘X2‘:{},
‘Y‘:{}
}
}

}
current_Layr = menu #实现动态循环
parent_Layrs = [] #保存所有父级,最后一个元素永远都是上一个父级
while True:
for key in current_Layr:
print(key)
choice = input(‘>>>:‘).strip()
if len(choice)==0:continue
if choice in current_Layr:
parent_Layrs.append(current_Layr) #在进入下一层之前,把当前层追加到列表中,下一次当
#用户选择b的时候,就可以直接去取列表的最后一个
current_Layr = current_Layr[choice] #进入子层
elif choice == ‘b‘:
if parent_Layrs:#列表非空就为真
current_Layr = parent_Layrs.pop() #取出列表最后一个值,因为它就是当前层的父级
else:
print(‘无此项‘)
运行结果

分享图片





分享图片

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐