第025讲:字典:当索引不好用时 | 课后测试题及答案

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

  me:字典

 

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

  me:

dict1={'F': 70, 'C': 67, 'h': 104, 'i': 105, 's': 115}
print(dict1["C"])

 

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

  me:不对,只是列表的表达形式是用[]将数据括起来,字典的表达形式是使用{}将数据括起来,但是使用{}括起来的数据并不能表示为字典

  参考答案:

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

  me:

  参考答案:

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})

  me:

  参考答案:

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

第025讲:字典:当索引不好用时 | 课后测试题及答案

 

   me:

date="100,小甲鱼,男"
MyDict={}
(MyDict["id"],MyDict["name"],MyDict["sex"])=date.split(",",3)
print("ID: " + MyDict["id"])
print("name: " + MyDict["name"])
print("sex: " +MyDict["sex"])

  参考答案:

动手:

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

第025讲:字典:当索引不好用时 | 课后测试题及答案

 

   me:

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

dictTX=dict()
while 1:
    InputY = int(input("请输入相关的指令代码:"))
    if InputY == 1:
        name = input("请输入联系人姓名:")
        print(name + ":" + dictTX[name])
    elif InputY == 2 :
        name = input("请输入联系人姓名:")
        if name in dictTX:
            print("您输入的姓名已经在通讯录中 -->> ",name," : ",dictTX[name])
            temp = input("是否需要修改用户资料(YES/NO):")
            if temp == "YES":
                namder = input("请输入用户联系电话:")
                dictTX[name] = namder
        else:
            namder = input("请输入用户联系电话:")
            dictTX[name] = namder
    elif InputY == 3:
        name=input("请输入联系人姓名:")
        if name in dictTX:
            del dictTX[name]
        else:
            print(name,"不在通讯录中;")
    elif InputY == 4:
        print("|--- 感谢使用通讯录程序 ---|")
        break

 

上一篇:025-请问你怎么看待测试,知道哪些测试的类型?


下一篇:025 程序的循环结构