欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python三級菜單的實例

 更新時間:2017年09月13日 08:09:59   作者:python修煉手冊  
下面小編就為大家?guī)硪黄狿ython三級菜單的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

要求:

打印省、市、縣三級菜單

可返回上一級

可隨時退出程序

版本1

# _author : Ahern Li
# @_date : 2017/9/12

menu = {
  '浙江省':{
    '杭州市':{
      '余杭區(qū)':{'中泰':{},'臨平':{}},
      '西湖區(qū)':{'西湖':{},'留下':{}}
      },
    '溫州市':{
      '蒼南縣':{'靈溪':{},'龍港':{}},
      '瑞安縣':{'安陽':{},'錦湖':{}}
      }
    },
  '廣東省':{
    '廣州市':{
      '越秀區(qū)':{'人民路':{},'北京路':{}},
      '荔灣區(qū)':{'沙面':{},'龍津':{}}
      },
    '珠海市':{
      '香洲區(qū)':{'拱北':{},'吉大':{}},
      '金灣區(qū)':{'紅旗鎮(zhèn)':{},'平沙鎮(zhèn)':{}}
      }
    }
  }

# 返回標記
q_flag = True
# 退出標記
Q_flag = True
# 返回,退出標記出現(xiàn)False退出循環(huán)
while q_flag and Q_flag:
  # 遍歷打印省份
  for i in menu:
    print(i)
  province = input('請輸入要查找的省份(Q,退出):').strip()
  if province in menu:
    while q_flag and Q_flag:
      for i in menu[province]:
        print(i)
      city = input('請輸入要查找的市(q,返回 或 Q,退出):').strip()
      if city in menu[province]:
        while q_flag and Q_flag:
          for i in menu[province][city]:
            print(i)
          county = input('請輸入要查找的區(qū)或縣(q,返回 或 Q,退出):').strip()
          if county in menu[province][city]:
            while q_flag and Q_flag:
              for i in menu[province][city][county]:
                print(i)
              # 提示最后一頁,輸入格式
              choice = input('最后一頁! q,返回 或 Q,退出:').strip()
              if choice == 'q':
                # 配合 else: q_flag = True 退出該層循環(huán),返回上層循環(huán)
                q_flag = False
              elif choice == 'Q':
                # 退出大循環(huán)
                Q_flag = False
              else:
                # 提示輸入不合法
                print('輸入錯誤!')
            # 改回 q_flag 的值,實現(xiàn)只退出一層循環(huán)
            else:
              q_flag = True
          elif county == 'q':
            q_flag = False
          elif county == 'Q':
            Q_flag = False
          else:
            print('輸入錯誤!')
        else:
          q_flag = True
      elif city == 'q':
        q_flag = False
      elif city == 'Q':
        Q_flag = False
      else:
        print('輸入錯誤!')
    else:
      q_flag = True
  elif province == 'Q':
    Q_flag = False
  else:
    print('輸入錯誤!')

版本2

# _author : Ahern Li
# @_date : 2017/9/12

menu = {
  '浙江省':{
    '杭州市':{
      '余杭區(qū)':{'中泰':{},'臨平':{}},
      '西湖區(qū)':{'西湖':{},'留下':{}}
      },
    '溫州市':{
      '蒼南縣':{'靈溪':{},'龍港':{}},
      '瑞安縣':{'安陽':{},'錦湖':{}}
      }
    },
  '廣東省':{
    '廣州市':{
      '越秀區(qū)':{'人民路':{},'北京路':{}},
      '荔灣區(qū)':{'沙面':{},'龍津':{}}
      },
    '珠海市':{
      '香洲區(qū)':{'拱北':{},'吉大':{}},
      '金灣區(qū)':{'紅旗鎮(zhèn)':{},'平沙鎮(zhèn)':{}}
      }
    }
  }

current_layer = menu  # 實現(xiàn)動態(tài)循環(huán)
parent_layer = []  # 保留所有父層,最后一個元素永遠為父層

while True:
  print() # 僅為了打印美觀
  for i in current_layer:   # 遍歷打印地址
    print(i)
  choice = input('請在下方輸入查詢地址\n>>>:').strip()
  if choice in current_layer:
    if current_layer[choice]:  # 判斷是否為末層
      parent_layer.append(current_layer) # 進入子層前,添加當前層作為父層
      current_layer = current_layer[choice]  # 修改子層
    else:
      print('當前是最后一頁')
  elif choice == '':
    continue
  elif choice == 'q':   # 返回上層
    if parent_layer:  # 判斷 parent_layer 是否為空
      current_layer = parent_layer.pop() # 取出當前層父層
  # 退出循環(huán)
  elif choice == 'Q':
    break
  else:
    print('輸入錯誤!')

以上這篇Python三級菜單的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python數(shù)據(jù)分析處理(三)--運動員信息的分組與聚合

    Python數(shù)據(jù)分析處理(三)--運動員信息的分組與聚合

    這篇文章主要介紹了Python數(shù)據(jù)清洗與處理?運動員信息的分組與聚合,根據(jù)Python數(shù)據(jù)清洗與處理?的相關(guān)資料展開運動員信息的分組與聚合的文章內(nèi)容,需要的朋友可以參考一下
    2021-12-12
  • 基于python和pygame庫實現(xiàn)刮刮樂游戲

    基于python和pygame庫實現(xiàn)刮刮樂游戲

    這篇文章主要介紹了如何基于python和pygame庫實現(xiàn)刮刮樂游戲,文中通過代碼示例和圖文給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • 一文搞懂python異常處理、模塊與包

    一文搞懂python異常處理、模塊與包

    異常就是系統(tǒng)中的錯誤,程序是無法改變和處理的,文中有給大家提到異常處理機制,模塊與包的相關(guān)知識,通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-06-06
  • matplotlib savefig 保存圖片大小的實例

    matplotlib savefig 保存圖片大小的實例

    今天小編就為大家分享一篇matplotlib savefig 保存圖片大小的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法

    Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法

    這篇文章主要介紹了Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法,通過兩種不同的實現(xiàn)方法較為詳細的講述了HTTP數(shù)據(jù)通信及cookie的具體用法,需要的朋友可以參考下
    2014-11-11
  • Python實現(xiàn)隨機森林回歸與各自變量重要性分析與排序

    Python實現(xiàn)隨機森林回歸與各自變量重要性分析與排序

    這篇文章主要為大家詳細介紹了在Python環(huán)境中,實現(xiàn)隨機森林(Random Forest,RF)回歸與各自變量重要性分析與排序的過程,感興趣的小伙伴可以了解一下
    2023-02-02
  • 教你利用PyTorch實現(xiàn)sin函數(shù)模擬

    教你利用PyTorch實現(xiàn)sin函數(shù)模擬

    這篇文章主要給大家介紹了關(guān)于教你利用PyTorch實現(xiàn)sin函數(shù)模擬的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • python將dict中的unicode打印成中文實例

    python將dict中的unicode打印成中文實例

    這篇文章主要介紹了python將dict中的unicode打印成中文實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pandas的to_datetime時間轉(zhuǎn)換使用及學習心得

    pandas的to_datetime時間轉(zhuǎn)換使用及學習心得

    這篇文章主要給大家介紹了關(guān)于pandas的to_datetime時間轉(zhuǎn)換使用及學習心得的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用pandas具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • python自動分箱,計算woe,iv的實例代碼

    python自動分箱,計算woe,iv的實例代碼

    今天小編就為大家分享一篇python自動分箱,計算woe,iv的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論