2017-09-17 20 views
0

我想用遞歸函數返回總圈尺寸,錯誤:「浮動對象是不可調用的」我試圖找出如何繪製回報各界的圓周

def draw(n, r): 
    if n == 0: 
     pass 
    else: 
     turtle.circle(r) 
     return 2 * math.pi() * r + draw(n-1, r+1) 
+5

Math.pi是一個浮點數。因此,刪除括號 –

+0

此外,一旦你解決了這個問題,你將得到一個'TypeError:不支持的操作數類型爲+:'float'和'NoneType''錯誤。用'return 0替換'pass'' –

+0

謝謝!這就是我一直在尋找的 – Gekz

回答

0

談到@Sem Redways評論回答

您必須區分函數和類或模塊的成員。 函數/方法將用括號調用,而變量只是簡單地調用。代碼必須更改爲:

def draw(n, r): 
    if n == 0: 
     return 0 
    else: 
     turtle.circle(r) 
     return 2 * math.pi * r + draw(n-1, r+1)