博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识python: 字典
阅读量:6957 次
发布时间:2019-06-27

本文共 3614 字,大约阅读时间需要 12 分钟。

使用数据字典,编写一个多级菜单:

需求:每一级可返回上级,可退出。

多级菜单
#!/user/bin env python# author:Simple-Sir# time:20180915# 使用字典实现多级菜单sheng = {    '四川省':{        '成都':{            '高新区':['第1条信息;','第2条信息;','第3条信息。'],            '天府新区':['第1条信息;','第2条信息;','第3条信息。'],            '武侯区':['第1条信息;','第2条信息;','第3条信息。'],        },        '德阳':{            '罗江':['第1条信息;','第2条信息;','第3条信息。'],            '广汉':['第1条信息;','第2条信息;','第3条信息。'],            '绵竹':['第1条信息;','第2条信息;','第3条信息。']        },        '绵阳':{            '江油':['第1条信息;','第2条信息;','第3条信息。'],            '三台':['第1条信息;','第2条信息;','第3条信息。'],            '安县':['第1条信息;','第2条信息;','第3条信息。']        }    },    '云南省':{        '昆明': {            '西山':['第1条信息;','第2条信息;','第3条信息。'],            '官渡':['第1条信息;','第2条信息;','第3条信息。'],            '盘龙':['第1条信息;','第2条信息;','第3条信息。']        },        '昭通': {            '昭阳':['第1条信息;','第2条信息;','第3条信息。'],            '鲁甸':['第1条信息;','第2条信息;','第3条信息。'],            '巧家':['第1条信息;','第2条信息;','第3条信息。']        },        '大理': {            '祥云':['第1条信息;','第2条信息;','第3条信息。'],            '弥渡':['第1条信息;','第2条信息;','第3条信息。'],            '南涧':['第1条信息;','第2条信息;','第3条信息。']        }    }}t = Truewhile t:    for i in sheng:        print(i)    choice = input('选择进入省(Q退出):')    if choice in sheng:        while t:            for i2 in sheng[choice]:                print('\t',i2)            choice2 = input('选择进入市(B返回上级,Q退出):')            if choice2 in sheng[choice]:                while t:                    for i3 in sheng[choice][choice2]:                        print('\t\t',i3)                    choice3 = input('选择进入县(B返回上级,Q退出):')                    if choice3 in sheng[choice][choice2]:                        while t:                            for i4 in sheng[choice][choice2][choice3]:                                print('\t\t\t', i4)                            choice4 = input('选择B返回上级,Q退出:')                            if choice4.upper() == 'B':                                break                            elif choice4.upper() == 'Q':                                exit()                    elif choice3.upper() == 'B':                        break                    elif choice3.upper() == 'Q':                        exit()                    else:                        print('您输入的区县不存在,请重新输入!')            elif choice2.upper() == 'B':                break            elif choice2.upper() == 'Q':                exit()            else:                print('您输入的地市不存在,请重新输入!')    elif choice.upper() == 'Q':        exit()    else:        print('您输入的省份不存在,请重新输入!')

 执行结果:

 

数据字典常用操作:

#!/user/bin env python# author:Simple-Sir# time:20180915# 字典基础dict_1 = {    '1': 'a',    '2': 'b',    '3': 'c'}print(dict_1['1']) #获取key对应的值,只能获取已存在的值print(dict_1.get('4')) #若存在,则获取值,若不存在,返回 Noneprint('1' in dict_1) # 判断指定值是否存在字典中print(dict_1.values()) #获取所有值print(dict_1.keys()) #获取所有键dict_1['4']='d' #若存在则修改,若不存在则添加dict_1.setdefault('1','aa') #若键已存在,则不创建 ;若不存在,则新建。dict_1.setdefault('11','aa') #若键已存在,则不创建 ;若不存在,则新建。del dict_1['1'] #删除指定key对应的值dict_1.pop('4') #删除指定key对应的值dict_1.popitem() #随机删除一个值dict_2={    '1':'aa',    '22':'bb',    '33':'cc'}dict_1.update(dict_2) #剔重合并2个字典print(dict_1)print(dict_1.items()) #将字典变成列表a = dict.fromkeys([5,6,7],['v1','v2','v3']) #新建一个新的字典,并初始化一个值a[5][0]='va1' #会统一修改,类似浅copyprint(a)# 字典循环# 方法一dict_3 = {    '1': 'a',    '2': 'b',    '3': 'c'}for i in dict_3:  # i 对应字典的键    print(i,dict_3[i])# 方法二(不建议)for k,v in dict_3.items(): #将字典转换成列表,再循环    print('方法二:',k,v)# 多级字典嵌套sheng = {    '四川省':{        '成都':['高新区','天府新区','武侯区']    }}sheng['四川省']['成都'][0]='成华区' #多级字典修改print(sheng)
字典常用操作

 

转载于:https://www.cnblogs.com/simple-li/p/9651719.html

你可能感兴趣的文章
详解 JavaScript 的私有变量
查看>>
网站建设在“互联网+”时代的发展趋势
查看>>
脚本语言不行?JavaScript 重写 Office 365 已进入尾声
查看>>
日志框架 - 基于spring-boot - 设计
查看>>
R语言基础操作①
查看>>
安装 PrestaShop 1.6 - 关于快速安装指南
查看>>
ecshop中ajax的调用原理
查看>>
速查笔记(Linux Shell编程<上>)
查看>>
更换手机设备时如何同步迁移便签内容?
查看>>
Linux进程间通信之共享内存
查看>>
模拟返回的后台数据实现统计图
查看>>
《Linux命令行与shell脚本编程大全》第二十六章 一些有意思的脚本
查看>>
设置文字旋转角度
查看>>
Spring_DI_XML_02
查看>>
uCos-III移植到STM32F10x
查看>>
openssl编译使用
查看>>
不学无数——SpringBoot入门V
查看>>
Android Pie 引入 Keystore 新特性,安全防护再升级
查看>>
前端性能优化之 Composite
查看>>
一文看懂混淆代码——Java Decompiled过程和代码阅读
查看>>