标签:image return erro 删除 需求 老师 strip() 北京 str
实现需求:
老师代码:
l_city ={
‘北京1‘:
{‘昌平1‘:
{‘沙河1‘:[‘老男孩‘,‘阿泰包子‘],
‘天通苑1‘:[‘臭豆腐‘,‘烤肉串‘]
},
‘朝阳1‘:
{‘朝阳门1‘:[‘吉事果‘,‘老酸奶‘],
‘红领巾桥1‘:[‘麻辣烫‘,‘旋风土豆‘]
},
‘海淀1‘:
{‘颐和园1‘:[‘景区‘,‘还是景区‘],
‘玉泉山1‘:[‘大树‘,‘还是大树‘]
}
}
,
‘北京2‘:
{‘昌平2‘:
{‘沙河2‘: [‘老男孩‘, ‘阿泰包子‘],
‘天通苑2‘: [‘臭豆腐‘, ‘烤肉串‘]
},
‘朝阳2‘:
{‘朝阳门2‘: [‘吉事果‘, ‘老酸奶‘],
‘红领巾桥2‘: [‘麻辣烫‘, ‘旋风土豆‘]
},
‘海淀2‘:
{‘颐和园2‘: [‘景区‘, ‘还是景区‘],
‘玉泉山2‘: [‘大树‘, ‘还是大树‘]
}
}
,
‘北京3‘:
{‘昌平3‘:
{‘沙河3‘: [‘老男孩‘, ‘阿泰包子‘],
‘天通苑3‘: [‘臭豆腐‘, ‘烤肉串‘]
},
‘朝阳3‘:
{‘朝阳门3‘: [‘吉事果‘, ‘老酸奶‘],
‘红领巾桥3‘: [‘麻辣烫‘, ‘旋风土豆‘]
},
‘海淀3‘:
{‘颐和园3‘: [‘景区‘, ‘还是景区‘],
‘玉泉山3‘: [‘大树‘, ‘还是大树‘]
}
}
}
以上是字典部分
下面才是代码部分
ways = []
def new_dic(zidian):
# print(y[0].keys()) #用于调试
print(‘you can chose:‘,zidian.keys())
key = input(">>:").strip()
try: #错误输入就退出
if key in zidian: #如果传入的key值符合规范
sub_zidian = zidian.get(key) #取得key所包含的字典,并赋值给新的字典
if type(sub_zidian) is dict:
ways.append(zidian) # 保存初始路径
return new_dic(sub_zidian) #返回字典函数进行下一轮
else:
print(sub_zidian)
print(‘已经到底了,后面选项无法选择‘) #字典底层元素为列表,无法继续选择,退出
elif key == ‘b‘: #如果传入的值是b,返回上层
# print (len(y),y[-1].keys()keys,y[-2].keys()) #用于调试
if len(ways)>1:
print(‘====>‘)
x=ways.pop()
return new_dic(x) #y路径库判断,根据路径库当中路径数量,判断是否到顶层
#如果没有到顶层,并且y中有两个或以上元素,
# 将x赋值为倒数第二个路径(前一级列表),删除最后一个路径,返回
elif len(ways)==1: #如果到顶层,提供退出提示
print(‘顶层目录,按“q”退出‘)
return new_dic(ways[0])
elif key == ‘q‘:exit()
else:
print(‘wrong input!‘)
return new_dic(zidian)
except AttributeError:
print(‘ending‘)
new_dic(l_city)
标签:image return erro 删除 需求 老师 strip() 北京 str
原文地址:http://www.cnblogs.com/scott-lv/p/7468922.html