'''三級菜單能夠隨時退出,返回上一菜單'''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