流程图:
Code:
1 # Author:P J J 2 ''' 3 4 作业二:多级菜单 5 三级菜单 6 可依次选择进入各子菜单 7 所需新知识点:列表、字典 8 ''' 9 10 date={ 11 '云南':{'昆明市':{ 12 '五华区':{'青少年宫','121大街'}, 13 '西山区':{'月牙塘公园','耀龙康城'}, 14 '盘龙区':{}}, 15 '曲靖市':{'麒麟区','宣威市','罗平县'}, 16 '玉溪市':{'红塔区','澄江县','华宁县'} 17 }, 18 '北京':{ 19 '朝阳':{'国贸','东直门'}, 20 '昌平':{ '沙河','老男孩','北航',}, 21 '朝阳':{} 22 }, 23 '上海':{ 24 '浦东':{}, 25 '虹口':{}, 26 '宝山':{}, 27 }, 28 } 29 flag=True 30 while flag: 31 for i in date: 32 print(i) 33 choice=input("选择进入第一层:") 34 if choice in date: 35 while flag: 36 for k in date[choice]: 37 print(" ",k) 38 choice2=input("选择进入第二层:") 39 if choice2 in date[choice]: 40 while flag: 41 for j in date[choice][choice2]: 42 print(" ",j) 43 choice3 = input("选择进入第三层:") 44 if choice3 in date[choice][choice2]: 45 for l in date[choice][choice2][choice3]: 46 print(" ",l) 47 choice4=input("已经到最后一层,按b返回上一层:") 48 if choice4=="b": 49 pass 50 elif choice4=="q": 51 print("退出!") 52 flag=False 53 elif choice3 =="b": 54 break 55 elif choice3=="q": 56 flag = False 57 elif choice2=="b": 58 break 59 elif choice2=="q": 60 flag = False 61 elif choice=="b": 62 print("已经是最顶层,无法返回!") 63 elif choice=="q": 64 flag = False
学习感想:
刚开始学习Python没有太久,这个是第二个作业,写了很长时间,写完后要求都能实现,但是有些代码重复了3次让我觉得很low,虽然现在不知道怎么改,毕竟掌握的知识还在少数。等以后学了新知识后再回来优化和简化代码!