words.txt和图片下载地址:words.txt和图片
题目1
出现字数统计。
1.读取words.txt中的所有英文单词,单词由分隔。
2.按照单词出现的次数,给予编号(0,1,2)。
3.统计单词出现的次数。
4.得到次数和编码输出至Q1.txt,每一行都为:
<单词><编号><出现次数>
5.单词考虑大小写,Ntu和ntu为不同单词
例子:
输入words.txt 中为 ntu ml mlds ml ntu ntuee
要求输出的Q1.txt:
ntu 0 2
ml 1 2
mlds 2 1
ntuee 3 1
代码
with open('G:\ML\ML_Lee\homework\HW0\words.txt','r') as o:
instr = o.read()#读取文件中的全部数据
instr = instr.split() # 将字符串分割,并存在一个list里面
d = dict()
l = list() #用来存储字符串,并且去重
for s in instr:
if s not in l:
l.append(s)
if s in d:
d[s] += 1
else:
d[s] = 1
i = 0
#打印结果
# for item in l:
# print(item,i,d[item])
# i += 1
#将结果存储到Q1.txt
with open('G:\ML\ML_Lee\homework\HW0\Q1.txt','w') as w:
for item in l:
temp = item + " "+str(i)+" "+str(d[item])+"\n"
i += 1
w.write(temp)
题目2
图片淡化
1.读取westbrook.jpg
2.把每个pixel的RGB数值都减半(ex: (122, 244, 245)->(61, 122, 122)),再将图片输出为Q2.jpg
3.RGB数值去掉小数点。
要求效果如下:
代码
from PIL import Image
im = Image.open('G:/ML/ML_Lee/homework/HW0/westbrook.jpg')#打开图片
pix = im.load()
# 获得图像尺寸
w, h = im.size
newim = Image.new("RGB",(w,h))# Image.new(model,size)使用给定的变量mode和size生成新的图像
for i in range(w):
for j in range(h):
r,g,b = pix[i,j]
newim.putpixel((i,j),(r//2,g//2,b//2))
newim.save('G:/ML/ML_Lee/homework/HW0/Q2.jpg','jpeg')