话不多说,直奔代码
# 要处理的字典 dic1 = { '北京': { '东城': { '沙河': ['沙河机场', '链家'], '天通苑': ['北方明珠', '天通尾货'] }, '朝阳': { '花家地': ['朝阳公园', '望京soho'], '北小河': ['北小河公园', '北京中学'] } }, '上海': { '虹桥': { '虹桥机场': ['超市', '特产店', '水吧'], '东方明珠': ['电影院', '游泳馆', '餐馆'] }, '浦东': { '景秀路': ['世纪公园', '立交桥'], '中环路': ['鲁迅公园', '同济大学'] } }, '河北': { '石家庄': { '行唐': ['东正', '阳关'], '赵县': ['赵州桥', '高村乡'] }, '唐山': { '滦南县': ['司各庄镇', '安各庄镇'], '玉田县': ['玉田镇', '亮甲店镇'] } } }
# 方法一: tag=True while tag: menu1=menu for key in menu1: print(key) choice1=input('The First Layer>>: ').strip() if choice1 == 'b':break if choice1 == 'q': tag = False break if choice1 not in menu1:continue while tag: menu2=menu1[choice1] for key in menu2: print(key) choice2 = input('The Second Layer>>: ').strip() if choice2 == 'b':break if choice2 == 'q': tag=False break if choice2 not in menu2:continue while tag: menu3 = menu2[choice2] for key in menu3: print(key) choice3 = input('The Third Layer>>: ').strip() if choice3 == 'b':break if choice3 == 'q': tag=False break if choice3 not in menu3: continue while tag: menu4 = menu3[choice3] for key in menu4: print(key) choice4 = input('The Fourth Layer>>: ').strip() if choice4 == 'b':break if choice4 == 'q': tag=False break if choice4 not in menu4: continue
current_layer = dic1 parent_layer = [] # 用来放置父级的key组成的list choose_end=['沙河机场', '链家','北方明珠', '天通尾货','朝阳公园', '望京soho','北小河公园', '北京中学','超市', '特产店', '水吧', '电影院', '游泳馆', '餐馆','世纪公园', '立交桥','鲁迅公园', '同济大学','东正', '阳关','赵州桥', '高村乡','司各庄镇', '安各庄镇','玉田镇', '亮甲店镇', ] Tag = True while Tag: print('