作业需求:
数据结构:
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车站':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
需求:
1、可依次选择进入各子菜单
2、可从任意一层往回退到上一层
3、可从任意一层退出程序
4、所需知识点:列表、字典
直接上代码:
1 #encoding = 'utf-8' 2 #python code by zwj 3 4 menu = { 5 '北京':{ 6 '海淀':{ 7 '五道口':{ 8 'soho':{}, 9 '网易':{}, 10 'google':{} 11 }, 12 '中关村':{ 13 '爱奇艺':{}, 14 '汽车之家':{}, 15 'youku':{}, 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 current_layer = menu 51 all_layer = [] 52 while True: 53 for k in current_layer : # 打印出key,北京、上海和山东 54 print(k) 55 choice = input(">>:").strip() 56 if choice in current_layer : 57 all_layer.append(current_layer) 58 current_layer = current_layer.get(choice) 59 elif choice == 'b': 60 if len(all_layer) != 0: 61 current_layer = all_layer.pop() 62 elif choice == 'q': 63 exit()
完结!欢迎评论交流。