Machine Learning 李巨集毅 HW0字數統計和圖片淡化
阿新 • • 發佈:2018-11-08
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')