到目前为止,我已经拥有了这个,它创建了两个圆圈,但其中一个是屏幕外的。我想把它放在中心,让它们彼此分开。现在它做了两个循环,但我希望它做一个小圆圈,然后继续围绕屏幕中间的第一个做一个更大的循环。两者都需要差异化。颜色。
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
答案 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可能是个好主意。 }
祝你好运