我想將下面的函數轉換爲遞歸函數,但是當我嘗試它時,我總是收到一個錯誤。使函數遞歸
TypeError: unsupported operand type(s) for *: 'float' and 'NoneType'
def turtle_spiral(forward):
minus = 8
t = turtle.Turtle()
t.pendown()
t.shape("turtle")
#while forward > 10:
randm = random.randrange(5)
colours = ["blue", "orange", "yellow", "green", "purple","black","red","pink"]
t.goto(-100,0)
if forward <= 10:
return False
else:
t.color(colours[randm])
#t.speed(10)
t.fd(turtle_spiral(forward*minus))
#t.circle(forward, 360)
t.right(90)
#forward -= minus
turtle_spiral(100)
wd.mainloop()
此代碼中沒有使用「*」運算符。 – chepner
你顯示的代碼根本不是遞歸的,所以我們無法弄清楚你有什麼遞歸問題,因爲沒有遞歸來看。由於存在縮進錯誤,我們甚至無法運行已發佈的代碼。請發佈您實際遇到問題的代碼以及異常的完整回溯。 – Blckknght
對不起讓我快速編輯它 –