python 小甲鱼 好不好_[Python]小甲鱼Python视频第025课(字典:当索引不好用时)课后题及参考解答...

# -*- coding: utf-8 -*-

"""

Created on Fri Mar 8 10:04:08 2019

@author: Administrator

"""

"""

测试题:

0. 当你听到小伙伴们在谈论“映射”、“哈希”、“散列”或者“关系数组”的时候,事实上他们就是在讨论什么呢?

和字典的特性都有关。。。

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

2. 用方括号(“[]”)括起来的数据我们叫列表,那么使用大括号(“{}”)括起来的数据我们就叫字典,对吗?

不对,{}括起来也可能是集合,{}括起来的键值对才是字典

3. 你如何理解有些东西字典做得到,但“万能的”列表却难以实现(臣妾做不到T_T)?

列表的元素索引是固定的数字序列, 字典的元素索引就是keys,元素类型较为灵活,但相应的效率会降低

4. 下边这些代码,他们都在执行一样的操作吗?你看得出差别吗?

>>> 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. 使用关键字参数创建字典

b. 用{}包裹键值对创建字典

c. 利用zip缝合成zip对象传递给工厂函数dict创建字典

d. 利用二元元组对列表传递给工厂函数创建字典

e. 用字典初始化字典

5. 如图,你可以推测出打了马赛克部分的代码吗?

动动手:

0. 尝试利用字典的特性编写一个通讯录程序吧,功能如图:

"""

#测试题1.

dict1 = dict({'F': 70, 'C': 67, 'h': 104, 'i': 105, 's': 115});

print(dict1['C']);

#测试题5

data = "1000,小甲鱼,男";

MyDict = {};

(MyDict['id'],MyDict['name'],MyDict['sex']) = data.split(sep=',');

print("ID: " + MyDict['id']);

print("Name: " + MyDict['name']);

print("Sex: " + MyDict['sex']);

#动动手0

string1 = """

|--- 欢迎进入通讯录程序 ---|

|--- 1:查询联系人资料 ---|

|--- 2:插入新的联系人 ---|

|--- 3:删除已有联系人 ---|

|--- 4:退出通讯录程序 ---|

"""

print(string1);

txl = dict();

while True:

int_input = int(input('\n请输入相关的指令代码:'));

if int_input == 1:

name = input("请输入联系人姓名:");

if name in txl.keys():

print("%s:%s" %(name,txl[name]));

else:

print("通讯录没有 %s 的通讯信息" % name );

elif int_input == 2:

name = input("请输入联系人姓名:");

if name in txl.keys():

print('您输入的姓在通讯录中已经存在 -->>',end='');

print(name + ":" + txl[name]);

if input('是否修改现有用户资料(Y/N)' == 'Y'):

txl[name] = input('请输入更新后的联系电话:');

else:

txl[name] = input('请输入用户的联系电话:')

elif int_input == 3:

name = input("请输入联系人姓名:");

if name in txl.keys():

del(txl[name]);

else:

print('输入的联系人不存在.');

elif int_input == 4:

break;

else:

print('输入指令代码有误');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值