码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单的增删改-2018.2.22(上)

时间:2018-02-22 21:24:13      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:省市县   txt文本   log   input   ack   退出   div   highlight   dig   

1.首先把字典内容存到txt文档里面

2.读取txt文本内容以及用eval将文本转化为字典

3.可以看出来昨天写的三级菜单并不适用今天要使用的增删改

#_author_:"Bushii"
#data:2018/2/21

menu= {
    ‘山东‘ : {
        ‘青岛‘ : [‘四方‘,‘黄岛‘,‘崂山‘,‘李沧‘,‘城阳‘],
        ‘济南‘ : [‘历城‘,‘槐荫‘,‘高新‘,‘长青‘,‘章丘‘],
        ‘烟台‘ : [‘龙口‘,‘莱山‘,‘牟平‘,‘蓬莱‘,‘招远‘]
    },
    ‘江苏‘ : {
        ‘苏州‘ : [‘沧浪‘,‘相城‘,‘平江‘,‘吴中‘,‘昆山‘],
        ‘南京‘ : [‘白下‘,‘秦淮‘,‘浦口‘,‘栖霞‘,‘江宁‘],
        ‘无锡‘ : [‘崇安‘,‘南长‘,‘北塘‘,‘锡山‘,‘江阴‘]
    },
    ‘浙江‘ : {
        ‘杭州‘ : [‘西湖‘,‘江干‘,‘下城‘,‘上城‘,‘滨江‘],
        ‘宁波‘ : [‘海曙‘,‘江东‘,‘江北‘,‘镇海‘,‘余姚‘],
        ‘温州‘ : [‘鹿城‘,‘龙湾‘,‘乐清‘,‘瑞安‘,‘永嘉‘]
    },
    ‘安徽‘ : {
        ‘合肥‘ : [‘蜀山‘,‘庐阳‘,‘包河‘,‘经开‘,‘新站‘],
        ‘芜湖‘ : [‘镜湖‘,‘鸠江‘,‘无为‘,‘三山‘,‘南陵‘],
        ‘蚌埠‘ : [‘蚌山‘,‘龙子湖‘,‘淮上‘,‘怀远‘,‘固镇‘]
    },
    ‘广东‘ : {
        ‘深圳‘ : [‘罗湖‘,‘福田‘,‘南山‘,‘宝安‘,‘布吉‘],
        ‘广州‘ : [‘天河‘,‘珠海‘,‘越秀‘,‘白云‘,‘黄埔‘],
        ‘东莞‘ : [‘莞城‘,‘长安‘,‘虎门‘,‘万江‘,‘大朗‘]
    }
}
province_list=list(menu.keys())
while True:
    print(‘ 省 ‘.center(50,‘*‘))
    for i in province_list:
        print(province_list.index(i)+1,i)
    pro_id=input(‘请输入省编号,或者输入q退出:‘)
    if pro_id.isdigit():
        pro_id=int(pro_id)
        if pro_id>0 and pro_id <=len(province_list):
            pro_name = province_list[pro_id - 1]
            city_list=list(menu[pro_name].keys())
            while True:
                print(‘ 市 ‘.center(50, ‘*‘))
                for v in city_list:
                    print(city_list.index(v)+1,v)
                city_id = input(‘请输入市编号,或者输入q退出,输入b返回:‘)
                if city_id.isdigit():
                    city_id=int(city_id)
                    if city_id>0 and city_id<=len(city_list):
                        city_name=city_list[city_id-1]
                        country_list=list(menu[pro_name][city_name])#这里已经不存在字典了,所以后面自然已经不用使用keys来转化了
                        while True:
                            print(‘ 县 ‘.center(50, ‘*‘))
                            for j in country_list:
                                print(country_list.index(j) + 1, j)
                            back_or_quit=input(‘请输入q(退出)或者b(返回)‘)
                            if back_or_quit==‘q‘:
                                exit()
                            elif back_or_quit==‘b‘:
                                break
                            else:
                                print(‘非法错误,请重新输入‘)
                elif city_id==‘b‘:
                    break
                elif city_id==‘q‘:
                    print(‘您已退出程序.‘)
                    exit()
                else:
                    print(‘输入非法,请重新输入‘)
        else:
            print(‘编号%s不存在‘%pro_id)

    elif pro_id==‘q‘:
        print(‘已退出.‘)
        exit()
    else:
        print(‘输入非法,请重新输入‘)

  如果对这个代码进行改编的话,需要分别对省,市,县进行增删改查,这将导致代码量十分大.所以,今天必须使用另外一种方法,将省市县的增删改查统一.

 

三级菜单的增删改-2018.2.22(上)

标签:省市县   txt文本   log   input   ack   退出   div   highlight   dig   

原文地址:https://www.cnblogs.com/bushii/p/8459781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!