属性错误:"int"对象没有属性"fd"



我正在阅读一个Python教程,其中一个练习让我卡住了。练习的描述是:"阅读以下函数,看看你是否能弄清楚它的作用。然后运行它。所以我不能真正告诉你它在做什么,我还在努力。

我自己只写了前两行,这是该教程的复制粘贴。这是代码:

import turtle
t = turtle.Turtle()
turtle.mainloop()
def draw(t, length, n):
    if n == 0:
        return
    angle = 50
    t.fd(length*n)
    t.lt(angle)
    draw(t, length, n-1)
    t.rt(2*angle)
    draw(t, length, n-1)
    t.lt(angle)
    t.bk(length*n)
draw(5, 10, 15)

提供回溯:

> Traceback (most recent call last):   File
> "D:DirectoryPythonProjectsLearning pythonExercisesExercise
> 5.14.5.py", line 18, in <module>
>     draw(5, 10, 15)   File "D:DirectoryPythonProjectsLearning pythonExercisesExercise 5.14.5.py", line 10, in draw
>     t.fd(length*n) AttributeError: 'int' object has no attribute 'fd'

收到此错误的原因是第一个参数是 5 ,因此变量 t 在函数中具有5的值。然后,代码尝试调用5.fd(length*n) 。调用draw时将第一个参数切换为 t

draw(t, 10, 15)

最新更新