首页 > 其他 > 详细

三级菜单

时间:2017-03-04 00:14:33      阅读:172      评论:0      收藏:0      [点我收藏+]
zunyi = [红花岗, 汇川, 遵义]
liupanshui = [钟山, 六枝特, 水城]
guiyang = [南明, 云岩, 花溪]
guizhou = {1:贵阳: guiyang, 2:六盘水: liupanshui, 3:遵义: zunyi}

guilin = [秀峰, 叠彩, 象山]
liuzhou = [城中, 鱼峰, 柳南]
nanning = [兴宁, 青秀, 江南]
guangxi = {1.南宁: nanning, 2.柳州: liuzhou, 2.桂林: guilin}

shenzhen = [罗湖, 福田, 南山]
shaoguan = [武江, 浈江, 曲江]
guangzhou = [荔湾, 越秀, 海珠]
guangdong = {1.广州: guangzhou, 2.韶关: shaoguan, 3.深圳: shenzhen}

# 省级字典
Provinces = {1:贵州: guizhou, 2:广西: guangxi, 3:广东: guangdong}

# 省和市是字典,方便显示名称,区级因为区是第三级,下面不需要再分级,所有用列表

# 显示省级,然后进入循环
for i in Provinces:
    print(i)
while True:  # 省级输入循环
    num = input(Select Provinces print City:)
    # 先判断是否退出
    if num == "b":
        break
    elif num == q:
        exit()
    elif num.isdigit() and int(num) > 0 and int(num) < 4:  # 判断输入是否有效
        # 先获取省级字典所有key,转换成列表,然后根据列表索引找到市级key
        p_city = list(Provinces.keys())[int(num) - 1]
        for m in Provinces[p_city]:  # 显示市级
            print(m)
        while True:  # 市级输入循环
            num = input(Select City print Region:)
            # 先判断是否退出
            if num == "b":
                # 如果退出市级,显示省级名称
                for i in Provinces:
                    print(i)
                break
            elif num == q:
                exit()
            elif num.isdigit() and int(num) > 0 and int(num) < 4:  # 判断输入是否有效
                # 先获取市级字典所有key,转换成列表,然后根据列表索引找到区级key
                p2_city = list(Provinces[p_city].keys())[int(num) - 1]
                for p in Provinces[p_city][p2_city]:  # 显示区级
                    print(p)
                while True:  # 区级输入循环
                    num = input(B:return / Q:quit :)
                    if num == "b":
                        for m in Provinces[p_city]:
                            print(m)
                        break
                    elif num == q:
                        exit()
                    else:
                        print(input error)
            else:
                print(input error)
    else:
        print(input error)

 

三级菜单

原文:http://www.cnblogs.com/xh4528/p/6497753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!