我之前詢問過有關此代碼並獲得了一些有用的答案,但我想再添加一個步驟,這會給我一個錯誤。該代碼會生成一組餘弦波,然後將它們相加。 這裏是代碼:IndexError:列表索引超出範圍 - 無法推理邏輯
from pylab import *
from numpy import *
freq=[]
x=linspace(-4000,4000,8001)
sum=0
for i in range(1,121,1):
freq.append(cos(2*pi*i*(x/8001)))
sum=(sum + freq[i])/i
plot(x,sum)
show()
與此代碼,我得到錯誤 「第8行,在 總和=(總和+ FREQ [I])/ I IndexError:列表索引超出範圍」
但是當我從零開始範圍:for i in range(121)
並刪除分母sum=sum + freq[i]
中的i時,程序正常工作。
我不明白它是如何看到索引超出範圍,當列表中沒有零時,它在零時有效?
列表開始於索引'0',而不是'1'。 – OdraEncoded