老男孩python全栈s21day07作业

知识点回顾作业

  1. 思维导图:入学 ~ 文件操作【.png或.pdf文件】
  2. 请列举所有数据类型中具有的方法并为每一个写一个示例【md文件】
  3. day01 ~ day06 所有作业要做一遍。【.py文件】

今日作业

  1. 看代码写结果

    v1 = [1,2,3,4,5]
    v2 = [v1,v1,v1]
    
    v1.append(6)
    print(v1)#[1,2,3,4,5,6]
    print(v2)#[[1,2,3,4,5,6],[1,2,3,4,5,6],[1,2,3,4,5,6]]
    
  2. 看代码写结果

    v1 = [1,2,3,4,5]
    v2 = [v1,v1,v1]
    
    v2[1][0] = 111
    v2[2][0] = 222
    print(v1)#[222,2,3,4,5]
    print(v2)#[[222,2,3,4,5],[222,2,3,4,5],[222,2,3,4,5]]
    
  3. 看代码写结果,并解释每一步的流程。

    v1 = [1,2,3,4,5,6,7,8,9]
    v2 = {}
    
    for item in v1:
        if item < 6:
            continue
        if 'k1' in v2:
            v2['k1'].append(item)
    	else:
            v2['k1'] = [item ]
    print(v2)#{'k1':[6,7,8,9]}
    
  4. 简述深浅拷贝?

    浅拷贝:仅会拷贝被拷贝对象的框架,里面的任何子元素的内存地址都不会被拷贝.
    深拷贝:不仅拷贝被拷贝对象的框架,而且会拷贝它里所有的可变元素的内存地址,注意不可变元素仍不可拷贝
    
  5. 看代码写结果

    import copy
    
    v1 = "alex"
    v2 = copy.copy(v1)
    v3 = copy.deepcopy(v1)
    
    print(v1 is v2)#True
    print(v1 is v3)#True
    
  6. 看代码写结果

    import copy
    
    v1 = [1,2,3,4,5]
    v2 = copy.copy(v1)
    v3 = copy.deepcopy(v1)
    
    print(v1 is v2)#False
    print(v1 is v3)#False
    
  7. 看代码写结果

    import copy
    
    v1 = [1,2,3,4,5]
    
    v2 = copy.copy(v1)
    v3 = copy.deepcopy(v1)
    
    print(v1[0] is v2[0])#True
    print(v1[0] is v3[0])#True
    print(v2[0] is v3[0])#True
    
    
  8. 看代码写结果

    import copy
    
    v1 = [1,2,3,4,5]
    
    v2 = copy.copy(v1)
    v3 = copy.deepcopy(v1)
    
    print(v1[0] is v2[0])#True
    print(v1[0] is v3[0])#True
    print(v2[0] is v3[0])#True
    
  9. 看代码写结果

    import copy
    
    v1 = [1,2,3,{"name":'武沛齐',"numbers":[7,77,88]},4,5]
    
    v2 = copy.copy(v1)
    
    print(v1 is v2)#False
    
    print(v1[0] is v2[0])#True
    print(v1[3] is v2[3])#True
    
    print(v1[3]['name'] is v2[3]['name'])#True
    print(v1[3]['numbers'] is v2[3]['numbers'])#True
    print(v1[3]['numbers'][1] is v2[3]['numbers'][1])#True
    
  10. 看代码写结果

    import copy
    
    v1 = [1,2,3,{"name":'武沛齐',"numbers":[7,77,88]},4,5]
    
    v2 = copy.deepcopy(v1)
    
    print(v1 is v2)#False
    
    print(v1[0] is v2[0])#True
    print(v1[3] is v2[3])#False
    
    print(v1[3]['name'] is v2[3]['name'])#True
    print(v1[3]['numbers'] is v2[3]['numbers'])#False
    print(v1[3]['numbers'][1] is v2[3]['numbers'][1])#True
    
  11. 简述文件操作的打开模式

    file_object = open('aaa.txt',mode = 'r', encoding = 'utf-8') 
    #mode = 'r' 'w' 'a' 'r+' 'w+' 'a+'
    # 'r': 只读模式 content = file_object.read()/readline()
    # 'w': 只写模式 打开后会清空文件所有内容
    # 'a': 追加模式 只能够追加
    # 'r+': 可以读写  读的时候从0开始,写的时候从光标处书写,可以使用seek进行调节光标
    # 'w+': 可以读写  打开的时候会清空所有内容, 读文件会从写入的文件光标停留处开始读,也可以通过seek进行位置的调整
    # 'a+': 可以读写  读的时候从光标处开始,写的时候会自动跳到最后开始写
    
  12. 请将info中的值使用 “_” 拼接起来并写入到文件 “readme.txt” 文件中。

    info = ['骗子,','不是','说''只有',"10",'个题吗?']
    
    info = ['骗子,','不是','说','只有',"10",'个题吗?']
    file_object = open('readme.txt',mode = 'w', encoding = 'utf-8')
    file_object.write('_'.join(info))
    file_object.close()
    
  13. 请将info中的值使用 “_” 拼接起来并写入到文件 “readme.txt” 文件中。

    info = ['骗子,','不是','说''只有',10,'个题吗?']
    
    info = ['骗子,','不是','说','只有',10,'个题吗?']
    info2=[]
    for i in range(len(info)):
        info2.append(str(info[i]))
    file_object = open('readme.txt',mode = 'w', encoding = 'utf-8')
    file_object.write('_'.join(info2))
    file_object.close()
    
  14. 请将info中的所有键 使用 “_” 拼接起来并写入到文件 “readme.txt” 文件中。

    info = {'name':'骗子','age':18,'gender':'性别'} 
    
    # 1. 请将info中的所有键 使用 "_" 拼接起来并写入到文件 "readme.txt" 文件中。
    
    file_object = open("readme.txt",mode='w',encoding='utf-8')
    file_object.write('_'.join(info.keys()))
    file_object.close()
    
    # 2. 请将info中的所有值 使用 "_" 拼接起来并写入到文件 "readme.txt" 文件中。
    file_object = open("readme.txt",mode='w',encoding='utf-8')
    info_values=[]
    for i in info.values() :
        info_values.append(str(i))
    file_object.write('_'.join((info_values)))
    file_object.close()
    
    
    # 3. 请将info中的所有键和值按照 "键|值,键|值,键|值" 拼接起来并写入到文件 "readme.txt" 文件中。
    
    info_file = open('readme.txt',mode='w',encoding='utf-8')
    info_items = []
    for i in info.items():
        info_items.append(i)
    strs=''
    for i in info_items:
        strs=strs+str(i[0])+'|'+str(i[1])+','
    info_file.write(strs.rstrip(','))
    info_file.close()
    
  15. 写代码

    要求:
        如文件 data.txt 中有内容如下:
    
        wupeiqi|oldboy|wupeiqi@xx.com
        alex|oldboy|66s@xx.com
        xxxx|oldboy|yuy@xx.com
    
        请用代码实现读入文件的内容,并构造成如下格式:
        info = [
            {'name':'wupeiqi','pwd':'oldboy','email':'wupeiqi@xx.com'},
            {'name':'alex','pwd':'oldboy','email':'66s@xx.com'},
            {'name':'xxxx','pwd':'oldboy','email':'yuy@xx.com'},
        ]
    
info =[]
data_object = open('data.txt', mode= 'r',encoding= 'utf-8')
for i in data_object:
    info_dict = {}
    list_tmp=i.strip().split('|')
    info_dict['name']=list_tmp[0]
    info_dict['pwd']=list_tmp[1]
    info_dict['email']=list_tmp[2]
    info.append(info_dict)
print(info)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值