首页 > 解决方案 > AttributeError:模块'turtle'在spyder中没有属性'screen'?

问题描述

这段代码有什么问题?我尝试运行此代码,但在输出AttributeError: module 'turtle' has no attribute 'screen'中显示:

import turtle

def draw_square():
    window = turtle.screen()
    window.bgcolor("red")

    brad = turtle.turtle()
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)

    window.exitonclick()

draw_square()
turtle.done()
turtle.bye()

标签: pythonspyderturtle-graphics

解决方案


您的代码中有一些问题。首先,这个:

window = turtle.screen()

应该是这样的:

window = turtle.Screen()

同上:

brad = turtle.turtle()

应该是:

brad = turtle.Turtle()

最后,这里有一个冗余:

    window.exitonclick()

...
turtle.done()

两者都具有相同exitonclick()done()目的,但方式不同。风格方面,我会在外面设置你的屏幕和海龟,draw_square()然后让那个函数按照它说的做,画一个正方形——下面是我编写这个程序的方法:

from turtle import Screen, Turtle

def draw_square(turtle):

    for _ in range(4):
        turtle.forward(100)
        turtle.right(90)

window = Screen()
window.bgcolor("red")

brad = Turtle()

draw_square(brad)

window.exitonclick()

推荐阅读