我如何使用循环来做同样的事情,使程序更高效,而不是蛮力?Python 3.2:带循环的文件输入/输出
我想读取文件中的值,将它们转换为浮点数,取前三个数字的平均值,将平均值写入一个新文件,并继续处理接下来的三个数字。
例子:
原始文件:
20.1
18.2
24.3
16.1
45.5
42.3
46.1
43.8
44.4
新文件:
20.87
19.53
28.63
34.63
44.63
44.07
44.77
这是我的代码:
def smooth(rawDataFilename, smoothDataFilename):
aFile = open(rawDataFilename, 'r')
newFile = open(smoothDataFilename, 'w')
num1 = float(aFile.readline())
num2 = float(aFile.readline())
num3 = float(aFile.readline())
num4 = float(aFile.readline())
smooth1 = (num1 + num2 + num3)/3
smooth2 = (num2 + num3 + num4)/4
newFile.write(str(format(smooth1, '.2f')))
newFile.write('/n')
newFile.write(str(format(smooth2, '.2f')))
aFile.close()
newFile.close()
会发生什么,什么不? – glglgl
你在寻找移动平均数,还是每组3的平均值?你的问题和你的数字说了两件不同的事情。 – ratatoskr