擅长:python、mysql、java
<p>我会用一个循环来解决你的任务:</p>
<pre><code>def smooth(rawDataFilename, smoothDataFilename):
data = []
with open(rawDataFilename, 'r') as aFile, open(smoothDataFilename, 'w') as newFile:
for line in aFile:
num = float(line)
data.append(num)
if len(data) >= 3:
smooth = sum(data) / len(data)
newFile.write(format(smooth, '.2f') + '\n')
del data[0]
</code></pre>
<p>与解决方案的差异:</p>
<ul>
<li><code>with</code>即使出错,也要小心地关闭文件</li>
<li>我使用一个列表来收集数据和进行平滑处理</li>
<li>我把换行符放在数字之间,而不是序列<code>/n</code></li>
</ul>
<p>我想你想要的是代码所示的移动平均值,而不是文本中建议的三元组平均值。在</p>