三级菜单:
自己做的代码:
1 china = { 2 '江苏':{ 3 '南京':{ 4 '江宁':{}, 5 '白下':{}, 6 '栖霞':{}, 7 '江淮':{}, 8 '浦口':{} 9 }, 10 '宿迁':{ 11 '宿城区':{}, 12 '宿豫':{}, 13 '泗阳':{}, 14 '泗洪':{}, 15 '沭阳':{} 16 }, 17 '盐城':{ 18 '盐都':{}, 19 '亭湖':{}, 20 '大丰':{}, 21 } 22 }, 23 '广州':{ 24 '广东':{ 25 '天河':{}, 26 '白云':{}, 27 '珠海':{} 28 }, 29 '深圳':{ 30 '罗湖':{}, 31 '福田':{}, 32 '南山':{} 33 }, 34 '东莞':{ 35 '莞城':{}, 36 '长安':{}, 37 '万江':{} 38 } 39 }, 40 '浙江':{ 41 '杭州':{ 42 '下城':{}, 43 '上城':{}, 44 '西湖':{} 45 }, 46 '宁波':{ 47 '江东':{},'江北':{} 48 }, 49 '温州':{ 50 '龙湾':{}, 51 '乐清':{}, 52 '永嘉':{} 53 } 54 }, 55 } 56 57 flag_break = True 58 59 while flag_break: 60 for key1 in china: 61 print(key1) 62 choice = input('please input your choice:>>>').strip() 63 if choice in china: 64 while flag_break: 65 for key2 in china[choice]: 66 print(key2) 67 choice2 = input('please input your choice:>>>').strip() 68 if choice2 in china[choice]: 69 while flag_break: 70 for key3 in china[choice][choice2]: 71 print(key3) 72 choice3 = input('please input your choice:>>>').strip() 73 if choice3 in china[choice][choice2]: 74 print('this is the last level') 75 elif choice3 == "q": 76 break 77 elif choice3 =='b': 78 flag_break = False 79 else: 80 print("无此项,请重新输入!") 81 elif choice2 == "q": 82 break 83 elif choice2 == 'b': 84 flag_break = False 85 else: 86 print("无此项,请重新输入!") 87 elif choice == "q": 88 break 89 elif choice == 'b': 90 flag_break = False 91 else: 92 print("无此项,请重新输入!")
老师讲的第一种方法:
1 china = { 2 '江苏':{ 3 '南京':{ 4 '江宁':{}, 5 '白下':{}, 6 '栖霞':{}, 7 '江淮':{}, 8 '浦口':{} 9 }, 10 '宿迁':{ 11 '宿城区':{}, 12 '宿豫':{}, 13 '泗阳':{}, 14 '泗洪':{}, 15 '沭阳':{} 16 }, 17 '盐城':{ 18 '盐都':{}, 19 '亭湖':{}, 20 '大丰':{}, 21 } 22 }, 23 '广州':{ 24 '广东':{ 25 '天河':{}, 26 '白云':{}, 27 '珠海':{} 28 }, 29 '深圳':{ 30 '罗湖':{}, 31 '福田':{}, 32 '南山':{} 33 }, 34 '东莞':{ 35 '莞城':{}, 36 '长安':{}, 37 '万江':{} 38 } 39 }, 40 '浙江':{ 41 '杭州':{ 42 '下城':{}, 43 '上城':{}, 44 '西湖':{} 45 }, 46 '宁波':{ 47 '江东':{},'江北':{} 48 }, 49 '温州':{ 50 '龙湾':{}, 51 '乐清':{}, 52 '永嘉':{} 53 } 54 }, 55 } 56 57 58 back_flag = False 59 exit_flag = False 60 61 while not back_flag and not exit_flag: 62 for key in china: 63 print(key) 64 choice = input('1>>:').strip() 65 if choice == "q": 66 exit_flag = True 67 if choice in china: 68 while not back_flag and not exit_flag: 69 for key2 in china[choice]: 70 print(key2) 71 choice2 = input('2>>:').strip() 72 if choice2 == 'b': 73 back_flag = True 74 if choice2 == 'q': 75 exit_flag = True 76 if choice2 in china[choice]: 77 while not back_flag and not exit_flag: 78 for key3 in china[choice][choice2]: 79 print(key3) 80 choice3 = input('3>>:').strip() 81 if choice3 == 'b': 82 back_flag = True 83 if choice3 == 'q': 84 exit_flag = True 85 else: 86 back_flag = False 87 else: 88 back_flag = False 89 else: 90 back_flag = False