【16】Python文藝的三級菜單

優化low的三級菜單http://blog.51cto.com/000011211684/1980529,
以下內容是參考python學習視頻整理。

#!/usr/bin/env python
#Author:Li QW

region_data={
      'china':{
         'beijing':{
            '昭陽區':['中手遊','萬家娛樂'],
            '五環內':['長城','故宮']
            },
         'nanjing':{
            '建鄴區':['奧體中心','南京眼'],
            '鼓樓區':['南京師範','南藝']
            },
         'shenzhen':{
            '龍華新區':['百貨','腸粉'],
            '福田區':['中康路','南京路']
         },
        },
      'USA':{
         '舊金山':{
                '1':['11','111'],
                '2':['22','222']
         },
         '硅谷':{
         },
         '紐約':{
            },
      }
}

level=[]
while True:
    for info in region_data:
        print(info)
    choice=input("Input choice >>> ")
    if choice == "b":
        if len(level)==0:break  #當列表爲空就直接退出循環
        region_data=level[-1] #將父值,賦值給當前列表
        level.pop() ##記得刪除(pop默認移除最後一個元素,並返回)
    if len(choice) ==0 or choice not in region_data :continue  #當輸入值爲空或者不存在,重新循環
    level.append(region_data)   #精華部分1:讓記得老子是誰,方便退出。
    region_data=region_data[choice]  #精華部分2:把子菜單賦值給列表,方便進入下一層(記錄當前位置,重新賦值給info,達到打印下一層目的)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章