python 基础(六)三级菜单(dict 的练习)

'''
三级菜单
可以随时退出,返回上一菜单
'''

date = {
'北京':{
'东城区':{
'安定门街道':{'国子监','鼓楼和钟楼'},
'北新桥街道':{'雍和宫','梁启超故居'}
},
'西城区':{
'西长安街街道':{'西单','人民大会堂'},
'新街口街道':{'什刹海','广化寺'}
}
},
'上海':{
'黄浦区':{
'南京东路街道':{'人民广场','上海音乐厅'}
},
'徐汇区':'天平路街道'
}
}
exit = False
while not exit:
# 打印第一层列表
for i in date:
print(i)
choice = input('选择进入:')
#判断输入的内容是否是第一层的key值
if choice in date:
while not exit:
#打印第二层列表
for i2 in date[choice]:
print(' ',i2)
choice2 = input('按n建返回上一层,q建退出 选择进入:')
# 判断输入的内容是否是第二层的key值
if choice2 in date[choice]:
while not exit:
# 打印第三层列表
for i3 in date[choice][choice2]:
print(' ',i3)
choice3 = input('按n建返回上一层,q建退出 选择进入:')
# 判断输入的内容是否是第三层的key值
if choice3 in date[choice][choice2]:
# 打印第四层列表
for i4 in date[choice][choice2][choice3]:
print(' ',i4)
choice4 = input('已是最后一层,按q回到退出,任意键回到上一层:')
if choice4 == 'q':
#不满足whlir循环条件,跳出该循环
exit = True
else:
#占位符,不做任何操作,同什么不输入一样,但这样系统不报错
pass
if choice3 == 'q':
exit = True
elif choice3 =='n':
break
if choice2 == 'q':
exit = True
elif choice2 == 'n':
break





原文地址:https://www.cnblogs.com/zbvc/p/12914041.html