这次的作业:python之三级菜单。
数据结构
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
需求:
- 可依次选择进入各子菜单
- 可从任意一层往回退到上一层
- 可从任意一层退出程序
代码实现
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
__author__ = 'shunzi'
filename = 'menu.txt';
list_menu = []
with open(filename,'r',encoding="utf-8") as f:
menu = eval(f.read())
while True:
for i in menu:
print('\t'*len(list_menu)+i)
choice = input("请选择进入子菜单,按q退出,按b返回上一层菜单>>").strip()
if choice == "q":
break
elif choice == "b":
if len(list_menu) == 0:
print("已经是最上一层菜单")
continue
menu = list_menu[-1]
list_menu.pop()
continue
elif len(choice) == 0 or choice not in menu:
print("你的输入有误,请重新输入>>")
continue
list_menu.append(menu)
menu = menu[choice]
小结
本节主要考察了对列表的添加删除,字典的运用,现在看来超级简单,还有一种通过递归函数来实现的,有机会补上!
继续阅读
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏