1 china = { 2 "shandong":{ 3 "linyi":["lanshan","nanfang","hedong"], 4 "liaocheng":["liaicheng1","liaicheng2","liaicheng3"], 5 "qingdao":["qingdao1","qingdao2","qingdao3"] 6 }, 7 "hubei":{ 8 "wuhan":["hongshan","wuchang","hanyang"], 9 "suizhou":["suizhou1","suizhou2","suizhou3"], 10 "huangshi":["huangshi1","huangshi2","huangshi3"] 11 }, 12 "guangdong":{ 13 "guangzhou":["guangzhou1","guangzhou2","guangzhou3"], 14 "dongguan":["dongguan1","dongguan2","dongguan3"], 15 "shenzhen":["shenzhen1","shenzhen2","shenzhen3"] 16 } 17 } 18 print('中国地图'.center(30,"-")) 19 print(china["shandong"]) 20 21 # def threeLM(china): 22 # while True: 23 # for i in china:print(i) 24 # key = input("input>>>").strip() 25 # if key == "b" or key == "q": return key # 如果返回q就一直返回q,不断循序直到返回到最外面4 26 # # 如果返回b就返回之前输入的key返回上一级 27 # elif key in china.keys() and china[key]: 28 # ret = threeLM(china[key]) 29 # if ret == "q":return "q" 30 # elif (not china.get(key)) or (not china[key]) : continue 31 32 l = [china] 33 while l: 34 for key in l[-1]:print(key) 35 k = input("input>>>").strip() 36 if k in l[-1].keys() and l[-1][k]: l.append(l[-1][k]) 37 elif k == "b": l.pop() 38 elif k == "q": break 39 else: continue