菜单
menu = { #定义一个字典 '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} } }, '闸北':{ '火车战':{ '携程':{} } }, '浦东':{}, }, '山东':{}, } back_flag = 0 while not back_flag: #无限循第一层 for i in menu: #for循环打印第一层字典 print(i) SF= input('输入省:').strip() #让用户输入选择 if SF in menu: #判断用户输入的选择菜单是否包含;如果包含进入第二层选择 while not back_flag: #让程序停留第二层 for i1 in menu[SF]: # 遍历第二层字典 print(i1)#打印第二层字典 SS = input('输入市:').strip() #让用户输入选择 if SS in menu[SF]: #判断用户选择二层菜单是否包含 while not back_flag: # 如果包含让程序停留在第三层 for s1 in menu[SF][SS]:# 遍历打印第三层字典 print(s1) xz = input("地址:").strip()# 让用户输入 if xz in menu[SF][SS]: #判断用户选择是否在三层字典有 while not back_flag: # 如果有让用户停留在四级caid for g in menu[SF][SS][xz]:#遍历打印四级cai单 print('你居住在',g) du = input("4===:").strip() # 让用户输入选择 if du == "b": # 如果用户输入b就退出程序 back_flag = 1 if du == "q": #如果输入q返回上一层 break # else: # back_flag = 1 if xz == "q":#如果输入q返回上一层 break if xz == "b":# 如果用户输入b就退出程序 back_flag = 1 # else: # back_flag = 1 if SS == "q":#如果输入q返回上一层 break if SS == "b": back_flag = 1 # else: # back_flag = 1 if SF == "q":#如果输入q返回上一层 break if SF == "b":# 退出 back_flag = 1
测试
D:pythonpython.exe D:/untitled/dir/for.py 北京 上海 山东 输入省:北京 海淀 昌平 朝阳 东城 输入市:haid 海淀 昌平 朝阳 东城 输入市:海淀 五道口 中关村 上地 地址:q 海淀 昌平 朝阳 东城 输入市:b Process finished with exit code 0