Python學習之day02---學習創建三級級聯菜單

1、要求使用"key-value"字典,創建一個三級級聯菜單,每個菜單下面包含相應的子菜單:例如:map ={ '山東省':{"濟南":{"高新區":["科技園","會展中心"]}}}

2、要求可以逐級菜單進行返回上級菜單。

#  一、定義菜單內容

map_list ={
    '山東':{
        "濟南":{
            "高新區":["銀座","管委會"],
            "會展":["停車場","廣場"]
        },
        "青島":{
            "城陽區":["萬達","后街"],
            "高新區":["科技館","會展"]
        },
        "菏澤": {
            "曹縣": ["萬達", "后街"],
            "單縣": ["科技館", "會展"]
        }
    },
    '河南': {
        "鄭州": {
            "高新區": ["銀座", "管委會"],
            "會展": ["停車場", "廣場"]
        },
        "洛陽": {
            "洛龍區": ["萬達", "后街"],
            "高新區": ["科技館", "會展"]
        },
        "商丘":{
            "市區": ["萬達", "后街"],
            "高新區": ["科技館", "會展"]
        },
    },
    '陝西': {
        "渭南": {
            "高新區": ["銀座", "管委會"],
            "會展": ["停車場", "廣場"]
        },
        "寶雞": {
            "寶雞區": ["萬達", "后街"],
            "高新區": ["科技館", "會展"]
        },
        "西安": {
            "市區": ["萬達", "后街"],
            "高新區": ["科技館", "會展"]
        },
    },
}

#  二、定義
while True:
    for menu_list in map_list:                                #定義一級聯菜單,將已經完成級聯的菜單傳給新定義的數值menu_list
        print(menu_list)                                      #打印一級菜單
# -------------------------------------------------------------------------------打印第一層輸出,打印省份    
    chose_list = input("選擇進入1>>:")                        #將用戶輸入定義爲chose_list
    if  chose_list in map_list:                               #判斷用戶輸入,如果用戶輸入的數據在定義的字典裏面,則爲真
        while True:
            for menu_list1 in map_list[chose_list]:           #定義二級菜單menu_list1,如果用戶輸入的這個菜單在一級菜單裏面,則進行打印
                print("\t",menu_list1)
# -------------------------------------------------------------------------------打印第二層輸出,打印城市
            chose_list1 = input("選擇進入2>>:")                #將用戶輸入定義爲chose_list1
            if chose_list1 in map_list[chose_list]:            #判斷用戶輸入,如果用戶輸入的數據在定義的字典裏面,則爲真
               while True:
                    for menu_list2 in map_list[chose_list][chose_list1]:    #定義三級菜單menu_list2,如果用戶輸入的這個菜單在二級菜單裏面,則進行打印
                        print("\t\t",menu_list2)
# -------------------------------------------------------------------------------打印第三層輸出,打印區縣
                    chose_list2 = input("選擇進入3>>:")                         #將用戶輸入定義爲chose_list2
                    if chose_list2 in map_list[chose_list][chose_list1]:        #判斷用戶輸入,如果用戶輸入的數據在定義的字典裏面,則爲真
                        for menu_list3 in map_list[chose_list][chose_list1][chose_list2]:            #定義三級菜單menu_list3,如果用戶輸入的這個菜單在一級、二級、三級菜單裏面,則進行打印
                            print("\t\t\t",menu_list3)
# -------------------------------------------------------------------------------打印第三層區縣裏面所包含的具體地點事物
                        chose_list3 = input("最後一層,按b進行返回。>>:")        #判斷用戶是否需要返回,返回上一層級區縣
                        if chose_list3 == 'b':
                            break
# -------------------------------------------------------------------------------添加判斷,來進行確認終端用戶是否想要返回上級菜單。也就是返回區縣                           
                    if chose_list2 == 'b':                                            #判斷用戶是否返回
                        break
# -------------------------------------------------------------------------------添加判斷,來進行確認終端用戶是否想要返回上級菜單。也就是返回城市菜單
            if chose_list1 == 'b':                                                     #判斷用戶是否返回
                break
# -------------------------------------------------------------------------------添加判斷,來進行確認終端用戶是否想要返回上級菜單。也就是返回省份


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章