0
對於學校任務,我必須編寫一個python程序來壓縮文本並使用壓縮文本編寫一個新文件,以保留原文。例如,將文本「heeeeeeellllooo」改爲「he7l4o3」。因此,隨後迭代的每個角色都必須由角色替換,並且必須緊跟迭代次數,除非迭代次數爲1。但是,取代壓縮文本「he7l4o3」,我得到了「hee2ll2oo2」。文本壓縮器不會壓縮想要的方式
我在做什麼錯?
代碼:
inp = open("hello.txt", "r")
out = open("compr.txt", "w")
kar=inp.read(1)
prevkar=''
def iterations(a,b):
while a==b:
re=1
re+=1
b = a
a = inp.read(1)
out.write(b + str(re))
return
def no_iteration(a):
out.write(a)
return
while kar:
if kar==prevkar:
iterations(kar, prevkar)
prevkar=kar
kar=inp.read(1)
else:
no_iteration(kar)
prevkar=kar
kar=inp.read(1)
inp.close()
out.close()
那麼,對於'iterations'函數中while循環的初學者,你需要將're'重新賦值給1,然後遞增它,使得它始終爲2. –
此外,第一次出現的新字符將被寫入文件的'no_iteration()',所以如果'iterations()'_also_寫入字符,它會被寫入兩次。 –