Python 3.x 移动平均程序(Python)
我正试图解决一个数学问题,但我想先做一些信息测试,以了解发生了什么(也许可以通过我的程序找到解决方案),我的问题是: 考虑由前n个不带零的自然数组成的列表,即从1到n。 我们在n个元素的列表上定义转换“移动平均”,方法是在列表末尾添加所有项的平均值,并在列表开头删除第一个项。 例如,如果n=4,我们有:(1,2,3,4)->(2,3,4,2.5) 通过多次迭代此过程,可以观察到标准化现象,并且当迭代次数趋于+无穷大时,列表的所有元素都趋向于一个公共值。 它要求n的值,该限值为254859658745 好吧,我试着对“移动平均线”函数进行如下编程:Python 3.x 移动平均程序(Python),python-3.x,moving-average,Python 3.x,Moving Average,我正试图解决一个数学问题,但我想先做一些信息测试,以了解发生了什么(也许可以通过我的程序找到解决方案),我的问题是: 考虑由前n个不带零的自然数组成的列表,即从1到n。 我们在n个元素的列表上定义转换“移动平均”,方法是在列表末尾添加所有项的平均值,并在列表开头删除第一个项。 例如,如果n=4,我们有:(1,2,3,4)->(2,3,4,2.5) 通过多次迭代此过程,可以观察到标准化现象,并且当迭代次数趋于+无穷大时,列表的所有元素都趋向于一个公共值。 它要求n的值,该限值为2548596587
def moving_average(liste,t):
k=0
S=0
m=0
c=0
n=len(liste)
while c<t:
while k<n:
S+=int(liste[k])
k+=1
m=S/n
liste.pop(0)
liste.append(m)
c+=1
return m
def移动平均值(列表,t):
k=0
S=0
m=0
c=0
n=len(列表)
c是为了帮助你前进,这里是答案的第一部分。调试方法如下所示:
def moving_average(liste,t):
k=0
S=0
m=0
c=0
n=len(liste)
while c<t:
print("At c: ", c)
k=0
while k<n:
print(" At k: ", k)
S+=int(liste[k])
k+=1
m=S/n
print(" .. new S", S)
print(" .. new k", k)
print(" .. new m", m)
liste.pop(0)
liste.append(m)
print(" liste: ", liste)
c+=1
return m
test_list = [1,2,3]
test_t = 4
print("Result:", moving_average(test_list, test_t))
def移动平均值(列表,t):
k=0
S=0
m=0
c=0
n=len(列表)
我只是注意到这是问家庭作业问题的方式。做得好,我希望有更多的人喜欢它。这不是一个家庭作业问题,我在网上发现这个问题;)我不明白你这句话的第二部分。为什么是“曾经”而不是“将来”?哈-这是在“家庭作业问题”的“课堂”上,经常被问得很糟糕。我希望“过去”和“将来”都是:。我在看你的问题……对不起,我是法国学生,我的英语不流利^^你的英语很好,可以问这样的问题:没问题,关于我陈述的时态,这是一个有效的问题。在英语中,我们有时使用这种时态,“我希望这些东西是……”,意思是“我希望它们总是那样——不是在过去或将来,而是永远,就像“我希望有可能飞行”“。我的意思不是说这在过去是可能的,也不是说它在将来也会成为可能,而是微妙的不同:我希望它一直是,也将是。你的程序在我的计算机上回答错误是正常的吗?它对我有效,但我有python 2.7。可能print语句对Python3的语法无效?我会选择Yes,你需要python 3I中的参数,我添加了括号,但最后一个我有无效语法^^^希望我发布的更新可以工作。。。我需要买蟒蛇3:)