python學習-2字典實現三級菜單,

來源:互聯網
上載者:User

python學習-2字典實現三級菜單,

menu = {
"江蘇":{
'南京':["江寧",'鼓樓','六合'],
'南通':["海門","如皋","海安"],
'蘇州':["崑山 ","吳中區",'常熟']
},
"安徽":{
'合肥':["廬陽","瑤海","包河","蜀山","肥東縣","肥西縣","巢湖","長豐","高新" ,"濱湖"],
'六安':["金安區","裕安區","葉集","霍邱","金寨","霍山","舒城"]
},
'上海':{}
}
cmenu = menu #設定當前菜單位置
pamenu = [] #將父菜單放入一個列表中,初始為空白列表
while True:
for i in cmenu:
print(i)
choice = input("輸入key/b:返回,q:退出 :")
if choice in cmenu:
if not isinstance(cmenu, list): #判斷當前菜單不是一個列表
if cmenu[choice]: #此項判斷菜單最子層是字典的話,如果字典不為空白 比如上海子層為空白字典
pamenu.append(cmenu) #將當前層加入父層列表中
cmenu = cmenu[choice] #將當前層變為選擇的子層
else:print("此項為最後一層")
else:print("此項為最後一層")

elif choice == 'b': #選擇b的話
if pamenu == []: #如果父層為空白的話,說明當前層為最上面的一層
cmenu = menu
else:cmenu = pamenu.pop() #父層不為空白時,選出最後一個菜單
elif choice == 'q':
break
else:
print('無此項')

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.