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;
#定義字典包括,國家,州(?。?,市
dic={'中國':{'河北':('石家莊','邢臺(tái)','衡水',),'北京':('昌平','海淀','朝陽',),'山西':('太原','大同','運(yùn)程',)},'美國':{'紐約州':('紐約市','羅徹斯特','水牛城',),'加利福利亞州':('洛杉磯','好萊塢','阿罕布拉',),'賓夕法尼亞州':('費(fèi)城','伯利恒','華盛頓',)},'澳大利亞':{'維多利亞州':('墨爾本','吉朗','巴里迪',),'西澳大利亞州':('馬扎爾','柏斯','費(fèi)里曼圖',),'南澳大利亞州':('阿德萊德','內(nèi)陸','巴羅莎'),}}
#print(dic['中國']['河北'])
dic_dir={1:"中國",2:"美國",3:"澳大利亞",} #定義國家跟序號(hào)的對(duì)應(yīng)關(guān)系
dic_dirtt={1:("河北","北京","山西"),2:("紐約州","加利福利亞州","賓夕法尼亞州",),3:("維多利亞州","西澳大利亞州","南澳大利亞州",)} #省(州)對(duì)應(yīng)關(guān)系
#dic_dir01={1:"中國",2:"美國",3:"澳大利亞",}
#dic_dir02={1:"中國",2:"美國",3:"澳大利亞",}
'''for i in range(1,dic.__len__()+1):
print(i,":",dic.pop())'''
#print(dic["中國"]["河北"][1])
#print(["河北"][1])
def loop():
while True:
for i in range(1,dic.__len__()+1): #遍歷字典長度,生成序號(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)的國家
for i in range(1, dic[dic_dir[j]].__len__() + 1):
print(">>>>",i, ':',dic_dirtt[j][i-1]) #遍歷輸出所選序號(hào)國家對(duì)應(yīng)的省/州
dir02 = input("please input num or b[back] or q[quit]:", )#輸入上級(jí)所需國家對(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)的長度,生成序號(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,展示“中國”的下級(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ì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Python實(shí)現(xiàn)序列化及csv文件讀取
這篇文章主要介紹了Python實(shí)現(xiàn)序列化及csv文件讀取,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Python實(shí)戰(zhàn)小程序利用matplotlib模塊畫圖代碼分享
這篇文章主要介紹了Python實(shí)戰(zhàn)小程序利用matplotlib模塊畫圖代碼分享,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12
在Django中創(chuàng)建URLconf相關(guān)的通用視圖的方法
這篇文章主要介紹了在Django中創(chuàng)建URLconf相關(guān)的通用視圖的方法,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07
django框架基于模板 生成 excel(xls) 文件操作示例
這篇文章主要介紹了django框架基于模板 生成 excel(xls) 文件操作,結(jié)合具體實(shí)例形式分析了Django框架基于模板生成excel的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2019-06-06

