Python實現用戶交互,顯示省市縣三級聯動的選擇


題目:Python實現用戶交互,顯示省市縣三級聯動的選擇

 

定義的字典為:

  dic = {   

      "江西": {    "萍鄉": ["安源", "彭高", "上栗"],    "新余": ["良山", "新鋼", "興安嶺"],    },  

      "北京": {    "大興區": ["禮賢鎮", "魏善庄鎮", "北臧村鎮"],    "昌平區": ["沙河", "化庄", "白浮泉"],    },   

      "福建": {    "莆田": ["荔城", "西天尾", "九化山"],    "廈門": ["湖里", "思明", "海倉"],    }  

 }

 

分析:

  大體步驟分為以下三步:

  1、用戶輸入一個省份時,判斷用戶輸入的省份是否在字典里。

  2、當用戶輸入的省份在字典里時,將用戶輸入的這個省份所對應的所有值——該省份下的所有城市的字典取出來。

  3、將該省分所對應的所有城市打印出來后,當用戶再輸入要查找的城市時,如果存在則將相對應城市下的縣取出來。

 

代碼:

dic = {
    "江西": {
        "萍鄉": ["安源", "彭高", "上栗"],
        "新余": ["良山", "新鋼", "興安嶺"],
    },
    "北京": {
        "大興區": ["禮賢鎮", "魏善庄鎮", "北臧村鎮"],
        "昌平區": ["沙河", "化庄", "白浮泉"],
    },
    "福建": {
        "莆田": ["荔城", "西天尾", "九化山"],
        "廈門": ["湖里", "思明", "海倉"],
    }
}
print('可查詢的省份:江西、北京、福建')

# 讓用戶輸入要查詢的省份。
while True:
    province = input('請輸要查詢的省份:')

    # 當用戶輸入的省份不在要查詢的字典中時,跳出本次循環,繼續讓用戶輸入。
    if not province in dic:
        print('輸入錯誤,請重新輸入')
        continue

    # 當用戶輸入的要查詢的省份在字典中時,跳出循環。
    break

# 將用戶輸入的省份去取出字典中的指定的省份(鍵)的值——市級字典,
# 然后遍歷每個市級字典,遍歷的的結果是取出市級字典中每個鍵。
for i in dic[province]:
    print(i,end = ' ') # 取出的市級字典中的每個城市(鍵),並作一行顯示。

# 讓用戶輸入要查詢的城市。
while True:
    city = input('請輸入要查詢的城市:')

    # 當用戶輸入的城市不在要查詢的子字典中時,跳出本次循環,繼續讓用戶輸入。
    if not city in dic[province]:
        print('輸入錯誤')
        continue

    # 當用戶輸入的要查詢的城市在子字典中時,跳出循環。
    break

# 將用戶輸入的城市去取出子字典中的指定的城市(鍵)的值——縣級列表
# 然后遍歷每個鎮縣級列表,遍歷的的結果是取出縣級列表中的每個縣名。
for j in dic[province][city]:
    print(j,end=' ')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM