初识python: 字典

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

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

多级菜单
#!/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 = True
while 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')) #若存在,则获取值,若不存在,返回 None
print('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' #会统一修改,类似浅copy
print(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)
字典常用操作

 

posted on 2018-09-15 18:18  Simple-Sir  阅读(294)  评论(0编辑  收藏  举报

导航