python学习第一周 三级菜单

#!/usr/bin/env python
#-*- encoding:utf8 -*-
# Author:lzf8989

#在字典中列入地区信息
map = {
    "北京":{
        "朝阳区":["三间房","平房乡","国贸","小山沟"],
        "海淀区":["学区房","宇宙中心","花园桥","五彩城"]
},
    "山西":{
        "运城":["万荣县","稷山县","盐湖区","永济饺子"],
        "大同":["大同县","煤矿"]
    },
    "上海":{
        "光明顶":["花和尚","鲁智深","林冲"],
        "昆仑山":["城隍庙","夜上海","世博会"]
    }
}
#设置省计数器、状态为初始值。
sheng_counter = 0
sheng_status = True
#判断计数器、状态,输出省份信息。
while sheng_status:
    if sheng_counter < 3 :
        print ("以下是省份信息:")
        for sheng_fen in map.keys():
            print (sheng_fen)
        #提示用户输入省份名称。
        sheng_fen_input = input ("输入省份名称:")
        sheng_counter += 1
        #定义市的计数器、状态的初始值。
        shi_counter = 0
        shi_status = True
        #判断计数器、状态,输出城市信息,输出结果。
        while shi_status:
            if shi_counter < 3:
                if sheng_fen_input.strip() in map:
                    print ("以下是城市信息:")
                    for cheng_shi in map[sheng_fen_input.strip()].keys():
                        print (cheng_shi)
                    shi_counter += 1
                    #提示用户输入诚信名称;定义区域初始值。
                    #shi_input = input("输入城市名称:")
                    qu_counter = 0
                    qu_status = True
                    #判断计数器,用户输入信息,输出结果。
                    while qu_status:
                        if qu_counter < 3:
                            shi_input = input("输入城市名称:")
                            if shi_input.strip() in map[sheng_fen_input.strip()]:
                                print ("以下是区信息:")
                                for qu in map[sheng_fen_input.strip()][shi_input.strip()]:
                                    print (qu)
                                exit()
                            #输入“q“退出程序,输入“b“返回上一级菜单。
                            elif shi_input.strip() == "q":
                                print ("退出查询")
                                exit()
                            elif shi_input.strip() == "b":
                                print ("返回上一层菜单")
                                break
                            else:
                                qu_counter += 1
                                print ("输入错误")
                                continue
                            #break
                        else:
                            print ("输入城市错误次数过多,退出")
                            qu_status = False
                        #break
                #输入“q“退出程序,输入“b“返回上一级菜单。
                elif sheng_fen_input.strip() == "q":
                    print ("退出查询")
                    exit()
                elif sheng_fen_input.strip() == "b":
                    print ("返回上一层菜单")
                    break
                else:
                    print ("输入错误")
                    shi_counter += 1
                    break
                break
            else:
                print ("输入省会错误次数过多,退出。")
                shi_status = False
    else:
        print ("输入错误过多,退出。")
        sheng_status = False
print ("程序结束,退出!!!")

 

posted @ 2016-11-23 02:30  lzf8989  阅读(121)  评论(0)    收藏  举报