2015-05-31 54 views
1

我想獲得梳子的結果。但接下來的錯誤。 我可以得到任何建議來解決錯誤?下面的python代碼導致AttributeError:,任何糾正建議?

import math 

def chirp(n): 
     l=[]  
     for i in range(3141): 
     i1=i/10. 
     s=math.sin(n*i1) 
     l=l.append(s) 
    return l 
l1=chirp(10,1) 
l2=chirp(20,1) 

l3=chirp(40,1) 
comb= l1+l2+l3 
print comb 

錯誤:

Traceback (most recent call last): 
    File "test.py", line 17, in <module> 
    l1=chirp(10,1) 
    File "test.py", line 15, in chirp 
    l=l.append(s) 
AttributeError: 'NoneType' object has no attribute 'append' 
+0

[爲什麼\ [1 \]。append(2)評估爲None而不是\ [1,2 \]?]的可能重複(http://stackoverflow.com/questions/12201716/why-does- 1-append2評估對無-代替-的-1-2) – vaultah

回答

3

更改線路

l = l.append(s) 

只是

l.append(s) 

append變異的名單,所以你不必看的返回值(這是None)。

1

嗯,你......你使用,爲十進制通過chirp() 2位置參數?

import math 

def chirp(n): 
    l = [] 
    for i in range(3141): 
     i1 = i/10. 
     s = math.sin(n*i1) 
     l.append(s) 
    return l 

l1 = chirp(10.1) 
l2 = chirp(20.1) 
l3 = chirp(40.1) 
comb = l1+l2+l3 
print(comb) 

這適用於我沒有錯誤。請注意就地使用l.append(s)