在Python 3.4的编辑器中,在一个窗口中创建多个彩色海龟

时间:2014-04-17 22:35:06

标签: python geometry python-3.4 turtle-graphics

到目前为止,我已经拥有了这个,它创建了两个圆圈,但其中一个是屏幕外的。我想把它放在中心,让它们彼此分开。现在它做了两个循环,但我希望它做一个小圆圈,然后继续围绕屏幕中间的第一个做一个更大的循环。两者都需要差异化。颜色。

def sun_and_earth():   
    import turtle  #allows me to use the turtles library
    turtle.Turtle()
    turtle.Screen()  #creates turtle screen
    turtle.window_height()
    turtle.window_width()
    turtle.bgcolor('grey')  #makes background color
    turtle.color("red", "green")
    turtle.circle(2, 360)  #draws a (size, radius) circle
    turtle.circle(218, 360)
    turtle.exitonclick()  #exits out of turtle window on click of window

1 个答案:

答案 0 :(得分:0)

我认为你可能对海龟库中的一些功能有一些误解。首先,turtle.window_height()turtle.window_width() 返回窗口的高度和宽度,因此(因为这些值未被分配)这两行不执行任何操作。类似地,turtle.Screen()返回一个对象,所以该行什么都不做。

为了使您的圈子居中,您需要使用turtle.setpos()功能更改乌龟的开始位置。这将改变乌龟所在位置的x和y坐标。如果你向下开始一个半径的乌龟,这将有效地将圆圈置于(0,0),因为圆圈的中心(从文档中)到左边一个半径。

请记住在移动时将笔从页面上移开,以免意外地在两点之间画线,并在想要再次绘制时再将笔放回原位。

试试这段代码:

import turtle
turtle.Turtle()
turtle.bgcolor('grey')

# decide what your small circle will look like
smallColour = "red"
smallRadius = 5

# draw the small circle
turtle.color(smallColour)
turtle.penup()
turtle.setpos(0, -smallRadius)
turtle.pendown()
turtle.circle(smallRadius)

# decide what your large circle will look like
largeColour = "white"
largeRadius = 100

# draw the large circle
turtle.color(largeColour)
turtle.penup()
print(turtle.pos())
turtle.setpos(0, -largeRadius)
print(turtle.pos())
turtle.pendown()
turtle.circle(largeRadius)

turtle.penup()
turtle.setpos(0, 0)

我希望这会有所帮助,但我认为你对乌龟的使用有一些误解,看看tutorial或者看看documentation可能是个好主意。 }

祝你好运