使用字典实现三级菜单小程序

Posted on 2018-03-05 10:43  甜心卜乙  阅读(178)  评论(0)    收藏  举报
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#author:hanly

data = {
    '山东' : {
        '青岛' : ['四方','黄岛','崂山','李沧','城阳'],
        '济南' : ['历城','槐荫','高新','长青','章丘'],
        '烟台' : ['龙口','莱山','牟平','蓬莱','招远']
    },
    '江苏' : {
        '苏州' : ['沧浪','相城','平江','吴中','昆山'],
        '南京' : ['白下','秦淮','浦口','栖霞','江宁'],
        '无锡' : ['崇安','南长','北塘','锡山','江阴']
    },
    '浙江' : {
        '杭州' : ['西湖','江干','下城','上城','滨江'],
        '宁波' : ['海曙','江东','江北','镇海','余姚'],
        '温州' : ['鹿城','龙湾','乐清','瑞安','永嘉']
    },
    '安徽' : {
        '合肥' : ['蜀山','庐阳','包河','经开','新站'],
        '芜湖' : ['镜湖','鸠江','无为','三山','南陵'],
        '蚌埠' : ['蚌山','龙子湖','淮上','怀远','固镇']
    },
    '广东' : {
        '深圳' : ['罗湖','福田','南山','宝安','布吉'],
        '广州' : ['天河','珠海','越秀','白云','黄埔'],
        '东莞' : ['莞城','长安','虎门','万江','大朗']
    }
}

while True:
    for i in data:
        print i
    choice1 = raw_input('请输入要选择的省份>>1(输入q退出):')
    if choice1 == "q":
        exit()
    if choice1 not in data:
        print '输入有误,请重新输入1:'
        continue
    else:
        while True:
            for i2 in data[choice1]:
                print i2
            choice2 = raw_input("请输入要选择的城市>>2(输入b返回,输入q退出):")
            if choice2 =='b':
                break
            elif choice2 == 'q':
                exit()
            elif choice2 not in data[choice1]:
                print '输入有误,请重新输入2:'
                continue
            while True:
                for i3 in data[choice1][choice2]:
                    print i3
                choice3 = raw_input('输入b返回上一层,输入q结束:')
                if choice3 =='b':
                    break
                elif choice3 == 'q':
                    exit()
                else:
                    print '输入有误,请重新输入:'