最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python實(shí)現(xiàn)省市三級(jí)菜單效果

 更新時(shí)間:2016年01月20日 09:59:16   作者:KING2222  
本文給大家分享的是使用使用python實(shí)現(xiàn)省市三級(jí)菜單效果的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。

地區(qū)分三層結(jié)構(gòu)例如:

大中華地區(qū)一級(jí)劃分:

華東

華中

華北

西南

特別行政區(qū)

華南

-------------------------------------------------

請(qǐng)輸入你要查看的大中華地區(qū)名字:華中

------------------包含的省名字二級(jí):-----------------

湖北

湖南

河南

-------------------------------------------------

請(qǐng)輸入你要查看的省名字:湖北

--------------包含的城市名三級(jí):-------------------

 程序大概的思路和邏輯:

1 將大中華地區(qū)劃用字典列表來(lái)構(gòu)造,用key取省或者地市列表,用for遍歷顯示字典或者列表的元素

2 根據(jù)整個(gè)字典的key,得到省列表,遍歷打印省的名字列表

3 設(shè)置用于跳出外循環(huán)的flag(跳出嵌套循環(huán))

4 兩層嵌套循環(huán),外循環(huán)for指定3次固定循環(huán),3次輸入省名字錯(cuò)誤,程序退出(在外循環(huán)for后,通過(guò)else來(lái)實(shí)現(xiàn))

內(nèi)循環(huán)while True是死循環(huán),不指定次數(shù)(地市名字輸入錯(cuò)誤后,會(huì)一直要求輸入,直到輸入正確為止),通過(guò)break退出內(nèi)循環(huán)

5 通過(guò)整個(gè)字典的key得到省列表,通過(guò)省字典的key得到地市列表,遍歷打印地市的名字列表

6 判斷輸入的地市是否在省字典中,在的話,通過(guò)省字典的key,for遍歷打印城市的名字列表不在的話,提示"輸入的省名字不對(duì),請(qǐng)重新輸入",continue跳出當(dāng)次迭代(循環(huán)),繼續(xù)輸入省名字還在內(nèi)循環(huán)while中

7 打印城市表后,2個(gè)選擇,1是退出整個(gè)程序(2個(gè)嵌套循環(huán)都退出),2是回到上一級(jí)別菜單(只需要退出內(nèi)循環(huán)的當(dāng)前迭代)

8 回到上一級(jí)別菜單(只退出內(nèi)循環(huán)while) 判斷用戶輸入的是否是"b",是的話,continnue 退出內(nèi)循環(huán)的當(dāng)前迭代,開(kāi)始內(nèi)循環(huán)下次迭代

9 退出整個(gè)程序(2個(gè)嵌套循環(huán)都退出) 判斷用戶輸入的是否是"q",是的話,先將flag變成True,然后break退出while內(nèi)循環(huán)

10 再做一個(gè)判斷,判斷flag是否是True,如果是的話,break退出for外循環(huán),至此,退出整個(gè)程序(2個(gè)嵌套循環(huán)都退出)

流程圖:

代碼:

#!/user/binenv python3
# -*- coding:utf-8 -*-
 
'''
Created on: 2015年1月16日
 
@author: 呂毅
 
Email: 371725153@qq.com
 
Version: 1.0
 
'''
 
 
china_map ={
 "華南":{
  "廣東":["廣州市","佛山市","深圳市","東莞市"],
 
  "廣西":["南寧市","柳州市","桂林市","北海市"],
 
 
  "海南":["??谑?,"三亞市","三沙市","儋州市"]
 
 },
 "華東":{
  "上海":["黃浦區(qū)","盧灣區(qū)","徐匯區(qū)","長(zhǎng)寧區(qū)","普陀區(qū)"],
 
  "安徽":["合肥市","蕪湖市","淮南市","馬鞍山市"],
 
  "江蘇":["南京市","無(wú)錫市","徐州市","常州市","蘇州市"]
 
 },
 "華北":{
  "北京":["東城區(qū)","西城區(qū)","朝陽(yáng)區(qū)","豐臺(tái)區(qū)","石景山區(qū)","海淀區(qū)"],
 
  "山西":["太原市","大同市","陽(yáng)泉市","長(zhǎng)治市"],
 
  "河北":["石家莊市","唐山市","秦皇島市","邢臺(tái)市"]
 
 },
 "華中":{
  "湖北":["武漢市","黃石市","十堰市","十堰市"],
 
  "河南":["鄭州市","開(kāi)封市","洛陽(yáng)市","平頂山市"],
 
  "湖南":["長(zhǎng)沙市","株洲市","衡陽(yáng)市","邵陽(yáng)市"]
 
 },
 "西南":{
  "重慶":["萬(wàn)州區(qū)","涪陵區(qū)","渝中區(qū)","大渡口區(qū)"],
  "四川":["成都市","自貢市","攀枝花市","德陽(yáng)市"],
  "貴州":["貴陽(yáng)市","六盤水市","遵義市","安順市"],
 
 
 },
 "特別行政區(qū)":{
  "香港":["屯門","彎仔","北角","西貢"],
  "澳門":["花地瑪堂區(qū)","圣安多尼堂區(qū)","大堂區(qū)","望德堂區(qū)"],
 
 },
 
 
}
 
 
print ("-------------------------------------------------")
print ("+            +")
print ("+            +")
print ("+   歡迎來(lái)到大中華地區(qū)查詢系統(tǒng)地   +")
print ("+            +")
print ("+            +")
print ("-------------------------------------------------")
print ("大中華地區(qū)一級(jí)劃分:")
for i in china_map: #遍歷字典的key,列出大中華地區(qū)的名字
 
 print (i)
print ("-------------------------------------------------")
jump_flag = False #用于跳出外循環(huán)
for i in range(3): #外循環(huán),指定循環(huán)3次,3次外循環(huán)完了,就退出程序
 greater_china_name = input("請(qǐng)輸入你要查看的大中華地區(qū)名字:")
 if greater_china_name in china_map: #檢查輸入的地區(qū)是否在地圖中,如果地區(qū)名字3次輸入錯(cuò)誤,程序退出
  gc_name = china_map[greater_china_name]
  province_name = gc_name.keys()#使用輸入的信息作為key,取出省信息,存在字典中
  while True: #內(nèi)循環(huán),死循環(huán),不指定循環(huán)次數(shù),通過(guò)break或者flag跳出
   print ("------------------包含的省名字二級(jí):-----------------") #分隔線
   for i in province_name: #遍歷列表,取出省名字,打印出來(lái)
    print (i)
   print ("-------------------------------------------------") #分隔線
   sheng_name_input = input("請(qǐng)輸入你要查看的省名字:")
 
   if sheng_name_input in province_name: #判斷輸入的省名字是否在地區(qū)列表中
    shi_name = china_map[greater_china_name][sheng_name_input] #取出省中有哪些市,存在列表中
    print ("--------------包含的城市名三級(jí):-------------------") #分隔線
    for i in shi_name: #遍歷列表,取出地區(qū)市名字,打印出來(lái)
     print (i)
    print ("------------------------------------------------") #分隔線
 
   if sheng_name_input not in province_name: #如果輸入的省名字不在在地區(qū)列表中
    print ("輸入的省名字不對(duì),請(qǐng)重新輸入")
    continue #跳出當(dāng)次迭代,開(kāi)始下一次迭代循環(huán),直到地市名字輸入正確為止(不停的要求輸入)
   back_or_quit = input("請(qǐng)問(wèn)是否退出?按b:Back是返回上一級(jí)菜單;按q:Exit是退出整個(gè)程序")
   #顯示完地區(qū)市后,就要退出程序了,一個(gè)是全部退出,一個(gè)是返回上一級(jí)菜單
   if back_or_quit == "q":
    jump_flag = True #用于跳出外循環(huán)
    break #跳出while內(nèi)循環(huán)
   if back_or_quit == "b":
    continue # 跳出當(dāng)次迭代,開(kāi)始下一次迭代循環(huán),重新輸入省處,返回上一步
   print ("你輸入的信息有誤,請(qǐng)重新輸入")
  if jump_flag: #跳出外循環(huán)的條件滿足
   break #跳出外循環(huán)
else:#上面的3次for循環(huán)正常執(zhí)行完畢,else才會(huì)執(zhí)行,如果是不正常退出(break),else不會(huì)執(zhí)行
 print ("3次輸入錯(cuò)誤,程序退出")

相關(guān)文章

  • matplotlib給子圖添加圖例的方法

    matplotlib給子圖添加圖例的方法

    今天小編就為大家分享一篇matplotlib給子圖添加圖例的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • python3 selenium自動(dòng)化 frame表單嵌套的切換方法

    python3 selenium自動(dòng)化 frame表單嵌套的切換方法

    今天小編就為大家分享一篇python3 selenium自動(dòng)化 frame表單嵌套的切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python 調(diào)用pyautogui 實(shí)時(shí)獲取鼠標(biāo)的位置、移動(dòng)鼠標(biāo)的方法

    python 調(diào)用pyautogui 實(shí)時(shí)獲取鼠標(biāo)的位置、移動(dòng)鼠標(biāo)的方法

    今天小編就為大家分享一篇python 調(diào)用pyautogui 實(shí)時(shí)獲取鼠標(biāo)的位置、移動(dòng)鼠標(biāo)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Pytorch中使用ImageFolder讀取數(shù)據(jù)集時(shí)忽略特定文件

    Pytorch中使用ImageFolder讀取數(shù)據(jù)集時(shí)忽略特定文件

    這篇文章主要介紹了Pytorch中使用ImageFolder讀取數(shù)據(jù)集時(shí)忽略特定文件,具有一的參考價(jià)值需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-03-03
  • Python連接打印機(jī)實(shí)現(xiàn)自動(dòng)化打印的實(shí)用技巧和示例代碼

    Python連接打印機(jī)實(shí)現(xiàn)自動(dòng)化打印的實(shí)用技巧和示例代碼

    在計(jì)算機(jī)科學(xué)領(lǐng)域,打印機(jī)是一種重要的外部設(shè)備,用于將電子文檔轉(zhuǎn)換成實(shí)際的紙質(zhì)文件,下面這篇文章主要給大家介紹了關(guān)于Python連接打印機(jī)實(shí)現(xiàn)自動(dòng)化打印的實(shí)用技巧和示例代碼,需要的朋友可以參考下
    2024-05-05
  • django中send_mail功能實(shí)現(xiàn)詳解

    django中send_mail功能實(shí)現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于django中send_mail功能實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • flask連接并操作數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例

    flask連接并操作數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例

    本文詳細(xì)介紹了在Flask框架中連接并操作數(shù)據(jù)庫(kù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 淺談Keras中shuffle和validation_split的順序

    淺談Keras中shuffle和validation_split的順序

    這篇文章主要介紹了淺談Keras中shuffle和validation_split的順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python進(jìn)程管理工具supervisor使用實(shí)例

    python進(jìn)程管理工具supervisor使用實(shí)例

    這篇文章主要介紹了python進(jìn)程管理工具supervisor使用實(shí)例,本文介紹了supervisor的安裝、配置、使用等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • Python安裝Graphviz超詳細(xì)圖文教程

    Python安裝Graphviz超詳細(xì)圖文教程

    這篇文章主要介紹了Python安裝Graphviz超詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

吉林省| 江安县| 监利县| 呼玛县| 根河市| 怀来县| 合作市| 旬阳县| 同心县| 宜昌市| 钦州市| 阿勒泰市| 青阳县| 肥东县| 道孚县| 余姚市| 普格县| 科技| 辽源市| 化州市| 海阳市| 宾川县| 阿克苏市| 建湖县| 闽清县| 顺平县| 龙川县| 英德市| 宁城县| 印江| 绵竹市| 衡东县| 楚雄市| 赣州市| 永新县| 甘谷县| 得荣县| 哈密市| 大厂| 杭州市| 电白县|