在Python Turtle中画一个正方形

时间:2017-09-06 17:52:46

标签: python turtle-graphics

我正在学习Python学习的教程,但我无法打开画面。我没有收到错误,只是表明程序已经完成运行。 也许我错过了什么,有人能说出来吗?

 import turtle #acutally called turtle to draw a turtle beautiful also used 
to draw other stuff

 # to draw a square or eventually a turtle you need to do this things below
  # to draw a square you want to : move forward,turn right,move forward,turn 
 right,move forward turn right
def draw_square(): #draw square for turtles
    window = turtle.Screen() #this is the background where the turtle will 
  move
window.bgcolor("red") # the color of the screen
brad = turtle.Turtle() #this is how to start drawing like time.sleep you use turtle.Turtle
brad.forward(100)#move turtle forward takes in a number which is the distance to move forward
brad.forward(90)# moves right 
brad.forward(100)
brad.forward(90)
brad.forward(100)
brad.forward(90)
brad.forward(100)
brad.forward(90)
window.exitonclick() #click the screen to close it
draw_square()

3 个答案:

答案 0 :(得分:1)

您的主要错误是这两行的顺序错误:

window.exitonclick() #click the screen to close it
draw_square()

exitonclick()mainloop()done()应该是您的乌龟代码执行的最后事情,因为他们将控制权交给了Tk' s事件循环。针对上述和样式问题重新编写代码:

import turtle

# to draw a square, or eventually a turtle, you need to do the things below

def draw_square():
    """ draw square for turtles """

    # to draw a square you want to : move forward, turn right,
    #  move forward, turn right,move forward turn right

    brad = turtle.Turtle()
    brad.forward(100)  # forward takes a number which is the distance to move
    brad.right(90)  # turn right
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)

window = turtle.Screen()
# this is the background where the turtle will move
window.bgcolor("red") # the color of the window

draw_square()

window.exitonclick()  # click the screen to close it

答案 1 :(得分:0)

要在执行代码后使Turtle屏幕停留,您必须使用turtle.done()window.exitonclick()

我为此创建了一个示例Python程序,只需看一下:

import turtle

me = turtle.Turtle()  # creating the turtle object


def drawSquare(size):
    for i in range(4):
        me.fd(size)
        me.rt(90)


me.pencolor('white')  # making the pencolor white, so that it is visible in black screen
window = turtle.Screen()
window.bgcolor('black')  # creating black background
me.penup()

# repositioning the turtle
me.bk(10)
me.rt(90)
me.bk(50)

# putting the pen down to start working
me.pendown()

# calling the draw square method with the edge length for the square
drawSquare(100)

# window.exitonclick()  # exits the screen when clicked
turtle.done()  # you have to cross the window to close it

答案 2 :(得分:-1)

import turtle

def draw_square():

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

        bob = turtle.Turtle()

        bob.forward(100)
        bob.right(90)
        bob.forward(100)
        bob.right(90)
        bob.forward(100)
        bob.right(90)
        bob.forward(100)
        bob.right(90)

        window.exitonclick()

draw_square()