data={'北京':{'昌平': {
'沙河':['oldboy','test'],
'天通苑':['链家地产','我爱我家']},
'朝阳':{
'望京':['奔驰','陌陌'],
'国贸':['CICC','HP'],
'东直门':{'Advent','飞信'}
},
'海淀':{}},
"山东":{'德州':{},'青岛':{},'济南':{}},
'广东':{'东莞':{},'常熟':{},'佛山':{}}}
while True:
for i in data:
print(i)
choice=input("选择进入>>>:")
if choice in data:
while True:
for i2 in data[choice]:
print(" ",i2)
choice2 = input("选择进入>>>:")
if choice2 in data[choice]:
while True:
for i3 in data[choice][choice2]:
print(' ',i3)
choice3=input('选择进入3>>>:')
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print(' ', i4)
choice4 = input('最后一层,按B返回>>>:')#要加这一句,否则就回到i3那里打印 沙河和天通苑了
if choice4=="b":
pass#占位符,什么都不做,也可能以后会做
if choice3 == "b":
break
if choice2 == "b":
break
if choice == "b":
break
北京
山东
广东
选择进入>>>:北京
昌平
朝阳
海淀
选择进入>>>:昌平
沙河
天通苑
选择进入3>>>:沙河
oldboy
test
最后一层,按B返回>>>:b
沙河
天通苑
选择进入3>>>:b
昌平
朝阳
海淀
选择进入>>>:b
北京
山东
广东
选择进入>>>:b
Process finished with exit code 0
法二:
data={'北京':{'昌平': {
'沙河':['oldboy','test'],
'天通苑':['链家地产','我爱我家']},
'朝阳':{
'望京':['奔驰','陌陌'],
'国贸':['CICC','HP'],
'东直门':{'Advent','飞信'}
},
'海淀':{}},
"山东":{'德州':{},'青岛':{},'济南':{}},
'广东':{'东莞':{},'常熟':{},'佛山':{}}}
exit_flag = False
while not exit_flag:
for i in data: #L1层
print(i) #L1层
choice=input("选择进入1>>>:")
if choice in data:
while not exit_flag:
for i2 in data[choice]: #L2层
print(" ",i2) #L2层
choice2 = input("选择进入2>>>:")
if choice2 in data[choice]:
while not exit_flag: #L3层
for i3 in data[choice][choice2]: #L3层
print(' ',i3)#L3层
choice3=input('选择进入3>>>:')
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print(' ', i4)
choice4 = input('最后一层,按B返回>>>:')#要加这一句,否则就回到i3那里打印 沙河和天通苑了
if choice4=="b":
pass#占位符,什么都不做,也可能以后会做
elif choice4=='q':
exit_flag=True
if choice3 == "b":
break
elif choice3 == 'q':
exit_flag = True
if choice2 == "b":
break
elif choice2 == 'q':
exit_flag = True
if choice == "b":
break
elif choice == 'q':
exit_flag = True
输出结果:
"C:Usersgoogle WANGAppDataLocalProgramsPythonPython36python.exe" D:/projects/三级菜单2.py
北京
山东
广东
选择进入>>>:北京
昌平
朝阳
海淀
选择进入>>>:昌平
沙河
天通苑
选择进入3>>>:沙河
oldboy
test
最后一层,按B返回>>>:b
沙河
天通苑
选择进入3>>>:q