Day 3: 作业

基础

 
  

'''
1.简述可变类型与不可变类型的本质,并列举Python中都有哪些可变与不可变类型
'''
可变类型和不可变类型存储的都是硬盘中的空间地址,但是可变类型由于有开辟的堆区空间作为其大本营,其中所存放的地址改变也没有关系,但是不可变类型直接与空间内部的值有直接连接,值变化,不可变类型的地址也会发生变化。

 
  

可变类型:list,dic,set
不可变类型:int,str,bool,tuple,float,None

 
  

'''
2.有好友列表[('Owen', '上海'), ('Zero', '上海'), ('Nick', '安徽'), ('Jason', '安徽'), ('Jerry', '江苏')],计算每个地区好友的个数,如上列好友列表的结果:{'上海': 2, '安徽': 2, '江苏': 1}
'''
friends = [('Owen', '上海'), ('Zero', '上海'), ('Nick', '安徽'),('Jason', '安徽'), ('Jerry', '江苏')]
area_number = {}
for name, area in f:
area_number.setdefault(area,0)
area_number[area] +=1
print(area_number)

 
  

'''
3.老男孩三门课程的报名名单:python={'p', Owen'},linux={'l', 'Owen'},online={'o', 'Owen'}
1)求三门课程都报了的名单
2)只报了一门课程的名单
3)只报了online课程的名单
4)所有报名的名单
'''
python = {'p', 'Owen'}
linux={'l', 'Owen'}
online={'o', 'Owen'}
res1 = python & linux & online
res2 = python ^ linux ^ online
res3 = online - (linux | python)
res3 = online - linux - python
res4 = python | linux | online
print(res1,res2,res3,res4)

 
  

'''
4.简述你知道的编码表,并简述在这些编码表中 英文和汉字 各占几个字节
'''
ASCII/DBSC : 英文 => 1个字节 dbcs中文 => 2个
utf-8 : 英文 => 1个字节 中文 => 3个
Unicode:英文 => 2个字节 中文 => 2个
GBK/GB2312:英文 => 1个字节 中文 => 2个

'''
5.有一个 gbk作业文件.txt (采用gbk编码的文件,见群),完成对该文件的复制 得到 gbk作业文件_复制版.txt
'''
with open(r'C:\Tiffany\python\exercise\me\3\gbk作业文件.txt','r',encoding='GBK') as rf:
with open(r'C:\Tiffany\python\exercise\me\3\gbk作业文件_copy.txt','w',encoding='GBK') as wf:
for line in rf:
wf.write(line)

高级

'''
1.老男孩三门课程的报名名单:python={'p', Owen', 'pl', 'po'},linux={'l', 'Owen', 'pl', 'lo'},online={'o', 'Owen', 'po', 'lo'},求只报了两门课程的总名单
'''
python = {'p', 'Owen', 'pl', 'po'}
linux  = {'l', 'Owen', 'pl', 'lo'}
online = {'o', 'Owen', 'po', 'lo'}
res = (python | linux | online) - (python ^ linux ^ online) - (python & linux & online)
print(res)

'''
2.尝试验证在Unicode编码下,英文和汉字都是占2个字节(提示:unicode-escape)
'''
print(''.encode('unicode-escape'))  # b'\\u597d'
print(b'\\u0041'.decode('unicode-escape'))  # A

'''
3.有一个 gbk作业文件.txt (采用gbk编码的文件,见群),采用 rb 与 w 两种模式完成复制得到 utf8作业文件.txt (采用utf-8编码的文件)
'''
with open('gbk作业文件.txt','rb') as rf:
    with open('utf8作业文件.txt', 'w', encoding='gbk') as wf:
        for line in rf:
            line = line.decode('gbk')
            wf.write(line)

 

转载于:https://www.cnblogs.com/Black-Natasha/p/11475260.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值