Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Verzeichnisanzeigemethode der dritten Ebene

Python-Verzeichnisanzeigemethode der dritten Ebene

高洛峰
高洛峰Original
2017-02-24 15:26:081760Durchsuche

Anforderungen:

1. Dreistufiges Menü

2. Sie können nacheinander jedes Untermenü aufrufen und die Seriennummer auswählen, um das Verzeichnis aufzurufen

3. Geben Sie b ein, um zum übergeordneten Verzeichnis zurückzukehren, und q, um das geänderte Verzeichnis zu verlassen

Code-Implementierung:

#!/bin/env python
#!--*--coding:utf-8 --*--
# ----*auth:freem*
import sys
#flag=True
#def flas():
#flag=False;
#定义字典包括,国家,州(省),市
dic={'中国':{'河北':('石家庄','邢台','衡水',),'北京':('昌平','海淀','朝阳',),'山西':('太原','大同','运程',)},'美国':{'纽约州':('纽约市','罗彻斯特','水牛城',),'加利福利亚州':('洛杉矶','好莱坞','阿罕布拉',),'宾夕法尼亚州':('费城','伯利恒','华盛顿',)},'澳大利亚':{'维多利亚州':('墨尔本','吉朗','巴里迪',),'西澳大利亚州':('马扎尔','柏斯','费里曼图',),'南澳大利亚州':('阿德莱德','内陆','巴罗莎'),}}
#print(dic['中国']['河北'])
dic_dir={1:"中国",2:"美国",3:"澳大利亚",} #定义国家跟序号的对应关系
dic_dirtt={1:("河北","北京","山西"),2:("纽约州","加利福利亚州","宾夕法尼亚州",),3:("维多利亚州","西澳大利亚州","南澳大利亚州",)} #省(州)对应关系
#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): #遍历字典长度,生成序号
print(i,':',dic_dir[i])
dir01=input("please input num or q[quit]:",)#选择对应序号输入以及输入返回上级目录标识
if dir01 in ['1','2','3']:#确认输入序号是否在['1','2','3']中
for j in range(1,dic.__len__()+1):
if int(dir01)==j:
print(">>",j,':',dic_dir[j],"\n") #打印所序号所对应的国家
for i in range(1, dic[dic_dir[j]].__len__() + 1):
print(">>>>",i, ':',dic_dirtt[j][i-1]) #遍历输出所选序号国家对应的省/州
dir02 = input("please input num or b[back] or q[quit]:", )#输入上级所需国家对应的省的序号
if dir02 in ['1', '2', '3']:
for k in range(1, dic[dic_dir[j]].__len__() + 1):#遍历省所对应字典所对应的长度,生成序号
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])#打印最终选择的省所对应的城市
print("------------------------------------------------")
# print(k, ':',dic_dirtt[j][k])
elif dir02=='b':
continue; #跳出上一级循环
elif dir02=='q':
return #跳出整个循环
#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()

Erfolgseffekt:

1) Geben Sie normal ein, geben Sie jeweils die Seriennummer 1 ein, um das untergeordnete Verzeichnis von „China“ anzuzeigen, und geben Sie dann 1 ein, um das untergeordnete Verzeichnis anzuzeigen Verzeichnis von „Hebei“, wie in der Abbildung unten gezeigt:

Python-Verzeichnisanzeigemethode der dritten Ebene

2). Geben Sie [q] direkt ein, um das Programm zu verlassen, wie in der Abbildung unten gezeigt :

Python-Verzeichnisanzeigemethode der dritten Ebene

3). Geben Sie das Verzeichnis der ersten Ebene normal ein, geben Sie [b] in das Verzeichnis der zweiten Ebene ein und kehren Sie zum Verzeichnis der oberen Ebene zurück. Wie in der folgenden Abbildung gezeigt:

Python-Verzeichnisanzeigemethode der dritten Ebene

4), das Verzeichnis der ersten Ebene ist normal. Geben Sie [q] in das Verzeichnis der zweiten Ebene ein, um das zu verlassen gesamtes Programm direkt, wie in der Abbildung unten gezeigt:

Python-Verzeichnisanzeigemethode der dritten Ebene

Hinweis: Dieses Programm ist nur für Python3 0 oder höher geeignet, wenn Python2.7 , bitte ändern Sie es selbst;

Das Obige ist die vom Herausgeber eingeführte Implementierungsmethode für die dreistufige Verzeichnisanzeige. Ich hoffe, dass sie für alle hilfreich ist Bitte hinterlassen Sie mir eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Artikel zu Python-Verzeichnisanzeigemethoden der dritten Ebene finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn