[小甲鱼] 零基础入门python第025讲课后测试题及答案:当索引不好用时

测试题:

0.当你在听到小伙伴们讨论‘映射’、‘哈希’、‘散列’或者‘数组关系’的时候,事实上他们就是在讨论什么?
   答案:事实上他们都是在讨论“字典”
1.尝试一下将数据(‘F’:70,'C':67,'h':104,i:105,s'115)创建为一个字典并访问键‘C’对应的值
   mydict=dict((('a',2),('b',3),('c',4)))
   mydict['c']
2.用方括号[]括起来的数据我们叫列表,用大括号‘{}’括起来的数据我们叫字典,对吗?
   不是,{}括起来如果没有映射关系,比如{1,2,3,4,5}就是集合而不是字典
3.如何理解有些东西字典做得到,但万能的列表却难以实现的?
   映射类型
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})

    都是在创建一个字典:{'one':1,'two':2,'three':3}
5.如图,你可以推测出打了马赛克部分的代码吗?

data="1000,小甲鱼,男"
MyDict={}
(MyDict['id'],MyDict['name'],MyDict['sex'])=
print("ID:   "+MyDict['id'])
print("Name: "+MyDict['name'])
print("Sex   "+MyDict['sex'])

输出的结果是:
ID:   1000
Name: 小甲鱼
Sex    男

  (MyDict['id'],MyDict['name'],MyDict['sex'])=(data[:4],data[5:8],data[9])
  答案:data.split(',')
动动手:

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

telebook={}
n=int(input('请输入相关的指令代码:'))
while(n):
    if n==4:
        print('|---感谢使用通讯录程序---|')
        break
    elif n==1:
        name=input('请输入联系人姓名:')
        if name in telebook:
            print(name,' : ',telebook[name])
        else:
            print(name,'不存在')
    elif n==2:
        name=input('请输入联系人姓名:')
        if name in telebook:
            print('您输入的姓名在通讯录中已存在--->>',name,':',telebook[name])
            answer=input('是否修改用户资料(YES/NO):')
            if answer=='YES':
                number=input('请输入用户联系电话:')
                telebook[name]=number
            elif answer=='NO':
                pass
        else:
            number=input('请输入用户联系电话:')
            telebook[name]=number
    elif n==3:
        telebook.clear()
    print('')
    n=int(input('请输入相关的指令代码:'))

答案:

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

contacts = dict()

while 1:
    instr = int(input('\n请输入相关的指令代码:'))

    if instr == 1:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print(name+':'+contacts[name])
        else:
            print('您输入的姓名不在通讯录中!')
    if instr == 2:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('您输入的姓名在通讯录中已存在 --->>',end='')
            print(name+':'+contacts[name])
            if input('是否修改用户资料(YES/NO):') == 'YES':
                contacts[name] = input('请输入用户联系电话:')
        else:
            contacts[name] = input('请输入用户联系电话:')
    if instr == 3:
        name = input('请输入联系人电话:')
        if name in contacts:
            del(contacts[name])        #也可以使用dic.pop()
        else:
            print('请输入的联系人不存在。')
    if instr == 4:
        break
print('|--- 感谢使用通讯录程序 ---|')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值