小甲鱼《零基础学习Python》课后笔记(二十五):字典——当索引不好用时1

测试题
0.当你听到小伙伴在讨论“映射”、“哈希”、“散列”或者“关系数列”的时候,事实上他们就是在讨论什么呢?
事实上是在讨论字典,字典是python中的映射类型,而列表,元组是序列类型。

1.尝试一下将数据(‘F’:70, ‘C’:67, ‘h’:104, ‘i’:105, ‘s’:115)创建为一个字典并访问键‘C’对应的值?

>>> dict1 = {'F':70, 'C':67, 'h':104, 'i':105, 's':115}  
>>> dict1['C']  
67  
2.用方括号(“[]”)括起来的数据我们叫列表,那么用大括号(“{}”)括起来的数据我们就叫字典,对吗? 不是,如下: ```python >>> dict2 = {'A', 'l', 'l', 'e', 'n'} >>> dict2 {'e', 'l', 'A', 'n'} >>> type(dict2)
>>> a = dict(one = 1, two = 2, three = 3)  
>>> b = {'one': 1, 'two': 2, 'three': 3}  
>>> c = dict(zip(['one', 'two', 'three'],[1, 2, 3]))  
>>> d = dict([('two', 2),('one', 1),('three', 3)])  
>>> e = dict({'three': 3, 'one': 1, 'two': 2}) 

一样的,都是在创建字典

>>> a  
{'one': 1, 'two': 2, 'three': 3}  
>>> b  
{'one': 1, 'two': 2, 'three': 3}  
>>> c  
{'one': 1, 'two': 2, 'three': 3}  
>>> d  
{'two': 2, 'one': 1, 'three': 3}  
>>> e  
{'three': 3, 'one': 1, 'two': 2}  
5.如图,你可以推测出打了马赛克部分的代码吗? ![5题图](https://img-blog.csdn.net/20180811184839433?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0NTQ2MTM3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 打了马赛克部分的是:data.split(',')
data = "1000,小甲鱼,男"  
MyDict = {}  
  
(MyDict['id'], MyDict['name'], MyDict['sex']) = data.split(',')  
	  
print("ID:   " + MyDict['id'])  
print("Name: " + MyDict['name'])  
print("Sex:  " + MyDict['sex']) 
动动手 0.尝试利用字典的特性编写一个通讯录程序吧,功能如图: ![0题图](https://img-blog.csdn.net/20180811185140870?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0NTQ2MTM3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 程序如下:
print('|---欢迎进入通讯录程序---|')
print('|---1:查询联系人资料---|')
print('|---2:插入新的联系人---|')
print('|---3:删除已有联系人---|')
print('|---4:退出通讯录程序---|')	
dict1 = {}
while True:
	print()
	count = int(input('请输入相关的指令代码:'))
	if count == 1:
		name = input('请输入联系人姓名:')
		if name in dict1:
			print(name + ':' + dict1[name])
			continue
		else:
			print('未查找到此联系人')
			continue
	elif count == 2:
		name = input('请输入联系人姓名:')
		if name in dict1:
			print('您输入的姓名在通讯录中已存在 -->>' + name + ':' + dict1[name])
			x = input('是否修改用户资料(YES/NO):')
			if x == 'YES':
				phone = input('请输入用户联系电话:')
				dict1[name] = phone
			else:
				continue
		else:
			phone = input('请输入用户联系电话:')
			dict1[name] = phone
			print('插入新的联系人' + name + '成功!')
			continue
	elif count == 3:
		name = input('请输入联系人姓名:')
		if name in dict1:
			x = input('是否删除已有联系人(YES/NO):')
			if x == 'YES':
				del(dict1[name])
				print('删除联系人' + name +'成功')
				continue
			else:
				print('未删除联系人' +name)
				continue
		else:
			print('未查找到此联系人')
	else:
		print('欢迎您的下次使用!')
		break

测试结果如下:

|---欢迎进入通讯录程序---|
|---1:查询联系人资料---|
|---2:插入新的联系人---|
|---3:删除已有联系人---|
|---4:退出通讯录程序---|

请输入相关的指令代码:2
请输入联系人姓名:sdz
请输入用户联系电话:2323
插入新的联系人sdz成功!

请输入相关的指令代码:2
请输入联系人姓名:dragon
请输入用户联系电话:3333
插入新的联系人dragon成功!

请输入相关的指令代码:2
请输入联系人姓名:allen
请输入用户联系电话:3344
插入新的联系人allen成功!

请输入相关的指令代码:1
请输入联系人姓名:sdz
sdz:2323

请输入相关的指令代码:2
请输入联系人姓名:sdz
您输入的姓名在通讯录中已存在 -->>sdz:2323
是否修改用户资料(YES/NO):YES
请输入用户联系电话:3444

请输入相关的指令代码:2
请输入联系人姓名:sdz
您输入的姓名在通讯录中已存在 -->>sdz:3444
是否修改用户资料(YES/NO):NO

请输入相关的指令代码:3
请输入联系人姓名:sdz
是否删除已有联系人(YES/NO):YES
删除联系人sdz成功

请输入相关的指令代码:3
请输入联系人姓名:dragon
是否删除已有联系人(YES/NO):NO
未删除联系人dragon

请输入相关的指令代码:4
欢迎您的下次使用!

猜你喜欢

转载自blog.csdn.net/qq_24546137/article/details/81589786