'''三级菜单能够随时退出,返回上一菜单'''date = { '北京':{ '东城区':{ '安定门街道':{'国子监','鼓楼和钟楼'}, '北新桥街道':{'雍和宫','梁启超故居'} }, '西城区':{ '西长安街街道':{'西单','人民大会堂'}, '新街口街道':{'什刹海','广化寺'} }}, '上海':{ '黄浦区':{ '南京东路街道':{'人民广场','上海音乐厅'} }, '徐汇区':'天平路街道' }}exit = Falsewhile not exit: # 打印第一层列表 for i in date: print(i) choice = input('选择进入:') #判断输入的内容是不是第一层的key值 if choice in date: while not exit: #打印第二层列表 for i2 in date[choice]: print('\t',i2) choice2 = input('按n建返回上一层,q建退出\n选择进入:') # 判断输入的内容是不是第二层的key值 if choice2 in date[choice]: while not exit: # 打印第三层列表 for i3 in date[choice][choice2]: print('\t\t',i3) choice3 = input('按n建返回上一层,q建退出\n选择进入:') # 判断输入的内容是不是第三层的key值 if choice3 in date[choice][choice2]: # 打印第四层列表 for i4 in date[choice][choice2][choice3]: print('\t\t\t',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