mens = {
'北京':{
},
'山东':{
'淄博':{
},
'临沂':{
},
'日照':{
},
'潍坊':{
'昌乐':{
},
"安丘":{
'景芝镇',
'大盛镇',
'辉渠镇'
'贾戈镇'
},
'高密':{
},
}
},
'河南':{
}
}
word = mens #定义一个列表word(世界)
warplanes = [] #定义一个列表warplanes(战机)
while True: #如果对就循环
for i in word: #for ...in...结构,表示将word 中的数字赋值到i上,分别列出
print(i) #列出i
choice = str(input(">>>>>:")) #接收用户输入的数值,并转换为str
if len(choice) == 0: #如果输入为空就返回循环
continue
if choice in word: #再次判断如果用户输入的数值在word中
warplanes.append(word) #将本层数据用列表的方式记入warplanes
word = word[choice] #这里word是个动态赋值的数值,现在讲word重新赋值成用户输入的数值的那层中的对应数据
elif choice== 'b':
word = warplanes.pop() #删除warplanes中的最后一个数值,并打印出来
else:
print('输入错误请重试')
上为代码,这是一个可以让我深入了解字典作用的一个试题,也大体明白了一个道理,代码的理顺,需要先有思路,在大体进行修改,也就是说,需要先有骨架,再有肌肉,不可能一蹴而就
首先这种类似问题,要先考虑循环,循环最大的问题就是需要固定循环层数,如果循环不能固定层数就循环,那是无意义的