在Python 2.7 Idle下使用turtle时出错

时间:2018-04-19 14:07:47

标签: python-2.7 turtle-graphics

为什么我的代码在turtle()中显示错误?我正在使用Python 2.7.13空闲。该查询是关于使用乌龟绘制正方形:

import turtle
def draw_square():
 window=turtle.Screen()
 window.bgcolor("red")
 brad= turtle.Turtle()
 brad.shape("yellow") # move forward
 brad.speed(2)# turn pen right 90 degrees
 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()

1 个答案:

答案 0 :(得分:0)

你在程序中犯了几个错误。首先,window.exitonclick()没有正确缩进,因此您从函数外部引用了draw_square()的局部变量。你的疯狂狭窄,一个空格缩进可能是这个问题的一个原因。

下一个错误是brad.shape("yellow"),因为黄色不是形状,它是一种颜色。此外,draw_square()中的评论似乎是错误的。有些人可能不会认为这是错误,但我确实如此。

您的代码经过重新设计以修复上述内容,并以更合理的方式为海龟编程进行布局:

import turtle

def draw_square(a_turtle):
    a_turtle.forward(100) # move forward
    a_turtle.right(90) # turn pen right 90 degrees
    a_turtle.forward(100)
    a_turtle.right(90)
    a_turtle.forward(100)
    a_turtle.right(90)
    a_turtle.forward(100)
    a_turtle.right(90)

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

brad = turtle.Turtle()
brad.shape("turtle")
brad.color("yellow")
brad.speed("slow")

draw_square(brad)

turtle.mainloop()