1. 程式人生 > >python學習筆記(25) 堆疊和遞迴實現三級選單

python學習筆記(25) 堆疊和遞迴實現三級選單

menu = {
'北京':{
'海淀':{
'五道口':{},
'上地':{},
'西三旗':{}
},
'昌平':{},
'朝陽':{},
'東城':{}
},
'上海':{},
'山東':{}
}

def threeLM(dic):

  while True:

    for k in dic:print(k)

    key = input('請輸入:').strip()

    if key == 'b' or key == 'q': return key

    elif key in dic.keys() and dic[key]:

      ret = threeLM(dic[key])

      if ret == 'q': return 'q'

    elif (not dic.get(key)) or (not dic[key]):

      continue

threeLM()

 

 

l = [menu]

while l:
for key in l[-1]:print(key)
k = input('input:').strip()
if k in l[-1].keys() and l[-1][k]:l.append(l[-1][k])
elif k == 'b':l.pop()
elif k == 'q':break
else:continue