Python三級(jí)目錄展示的實(shí)現(xiàn)方法
要求:
1、三級(jí)菜單
2、可依次選擇進(jìn)入各子菜單,選擇序號(hào)進(jìn)入目錄
3、輸入b返回上級(jí)目錄,q退出更改目錄
代碼實(shí)現(xiàn):
#!/bin/env python #!--*--coding:utf-8 --*-- # ----*auth:freem* import sys #flag=True #def flas(): #flag=False; #定義字典包括,國(guó)家,州(?。?,市 dic={'中國(guó)':{'河北':('石家莊','邢臺(tái)','衡水',),'北京':('昌平','海淀','朝陽(yáng)',),'山西':('太原','大同','運(yùn)程',)},'美國(guó)':{'紐約州':('紐約市','羅徹斯特','水牛城',),'加利福利亞州':('洛杉磯','好萊塢','阿罕布拉',),'賓夕法尼亞州':('費(fèi)城','伯利恒','華盛頓',)},'澳大利亞':{'維多利亞州':('墨爾本','吉朗','巴里迪',),'西澳大利亞州':('馬扎爾','柏斯','費(fèi)里曼圖',),'南澳大利亞州':('阿德萊德','內(nèi)陸','巴羅莎'),}} #print(dic['中國(guó)']['河北']) dic_dir={1:"中國(guó)",2:"美國(guó)",3:"澳大利亞",} #定義國(guó)家跟序號(hào)的對(duì)應(yīng)關(guān)系 dic_dirtt={1:("河北","北京","山西"),2:("紐約州","加利福利亞州","賓夕法尼亞州",),3:("維多利亞州","西澳大利亞州","南澳大利亞州",)} #省(州)對(duì)應(yīng)關(guān)系 #dic_dir01={1:"中國(guó)",2:"美國(guó)",3:"澳大利亞",} #dic_dir02={1:"中國(guó)",2:"美國(guó)",3:"澳大利亞",} '''for i in range(1,dic.__len__()+1): print(i,":",dic.pop())''' #print(dic["中國(guó)"]["河北"][1]) #print(["河北"][1]) def loop(): while True: for i in range(1,dic.__len__()+1): #遍歷字典長(zhǎng)度,生成序號(hào) print(i,':',dic_dir[i]) dir01=input("please input num or q[quit]:",)#選擇對(duì)應(yīng)序號(hào)輸入以及輸入返回上級(jí)目錄標(biāo)識(shí) if dir01 in ['1','2','3']:#確認(rèn)輸入序號(hào)是否在['1','2','3']中 for j in range(1,dic.__len__()+1): if int(dir01)==j: print(">>",j,':',dic_dir[j],"\n") #打印所序號(hào)所對(duì)應(yīng)的國(guó)家 for i in range(1, dic[dic_dir[j]].__len__() + 1): print(">>>>",i, ':',dic_dirtt[j][i-1]) #遍歷輸出所選序號(hào)國(guó)家對(duì)應(yīng)的省/州 dir02 = input("please input num or b[back] or q[quit]:", )#輸入上級(jí)所需國(guó)家對(duì)應(yīng)的省的序號(hào) if dir02 in ['1', '2', '3']: for k in range(1, dic[dic_dir[j]].__len__() + 1):#遍歷省所對(duì)應(yīng)字典所對(duì)應(yīng)的長(zhǎng)度,生成序號(hào) if int(dir02) == k: print("*******",k,":",dic_dirtt[j][k-1],"\n") for h in range(1, dic[dic_dir[j]][dic_dirtt[j][k-1]].__len__() + 1): print("*******^_^>>>>",h, ':',dic[dic_dir[j]][dic_dirtt[j][k-1]][h-1])#打印最終選擇的省所對(duì)應(yīng)的城市 print("------------------------------------------------") # print(k, ':',dic_dirtt[j][k]) elif dir02=='b': continue; #跳出上一級(jí)循環(huán) elif dir02=='q': return #跳出整個(gè)循環(huán) #return False; else: print("please insert correct str,strat with higher dir!") #print(i, ':', dic[dic_dir[j]]) # print(dic[dic_dir[j]]) elif dir01=='q': break; #退出 else: print("please insert correct str!") if __name__=="__main__": loop()
實(shí)現(xiàn)效果:
1)正常輸入,分別輸入序號(hào)1,展示“中國(guó)”的下級(jí)目錄,接著輸入1,展示“河北”的下級(jí)目錄,如下圖所示:
2)、直接輸入[q],退出程序,如下圖所示:
3)、第一級(jí)目錄正常輸入,第二級(jí)目錄輸入[b],返回上級(jí)目錄,如下圖所示:
4)、第一級(jí)目錄正常輸入,第二級(jí)目錄輸入[q],直接退出整個(gè)程序,如下圖所示:
注:本程序僅適用python3.0以上,如若python2.7,請(qǐng)自行修改;
以上所述是小編給大家介紹的Python三級(jí)目錄展示的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
簡(jiǎn)單了解python高階函數(shù)map/reduce
這篇文章主要介紹了簡(jiǎn)單了解python高階函數(shù)map/reduce,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-06-06python實(shí)戰(zhàn)串口助手_解決8串口多個(gè)發(fā)送的問(wèn)題
今天小編就為大家分享一篇python實(shí)戰(zhàn)串口助手_解決8串口多個(gè)發(fā)送的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python中內(nèi)置的日志模塊logging用法詳解
Python的logging模塊提供了記錄程序運(yùn)行情況的日志功能,類(lèi)似于Apache的log4j,很好很強(qiáng)大,這里我們就來(lái)看一下Python中內(nèi)置的日志模塊logging用法詳解2016-07-07python雙向鏈表實(shí)現(xiàn)實(shí)例代碼
python雙向鏈表和單鏈表類(lèi)似,只不過(guò)是增加了一個(gè)指向前面一個(gè)元素的指針,下面的代碼實(shí)例了python雙向鏈表的方法2013-11-11Python Opencv提取圖片中某種顏色組成的圖形的方法
這篇文章主要介紹了Python Opencv提取圖片中某種顏色組成的圖形的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09實(shí)例講解Python中g(shù)lobal語(yǔ)句下全局變量的值的修改
global是Python中的一個(gè)關(guān)鍵字用來(lái),聲明一個(gè)局部變量為全局變量,這里我們來(lái)以實(shí)例講解Python中g(shù)lobal語(yǔ)句下全局變量的值的修改,需要的朋友可以參考下.2016-06-06