如何使用python龟在中间画一个圆圈中间的圆圈?

时间:2013-11-19 05:37:13

标签: python loops geometry turtle-graphics

形状应该看起来像这个图像 Image of Circle Loop

这应该是一个简单的hw赋值,所以如果你使用任何高级数学或任何东西,你可能没有正确地做到这一点。它应该只涉及简单的功能,如左,右,前进,平板,下降等。

我真的需要帮助来完成这个。这是我到目前为止的代码,但圆圈没有正确移动。

# Repeating Circle Loop

import turtle

turtle.colormode(255)

window = turtle.Screen()
window.title('Circle Loop')
window.bgcolor('black')

red, green, blue = 255, 255, 0

draw = turtle.Turtle()
draw.color(red, green, blue)

radius = 50

for i in range(12):
    draw.circle(radius)
    draw.penup()
    draw.setposition(i * - 10, 0)
    draw.left(30)
    draw.pendown()
    green = green - 20
    blue = blue + 20
    draw.color(red, green, blue)

window.mainloop()

3 个答案:

答案 0 :(得分:1)

写一个子程序来画一个圆圈。然后,编写另一个绘制圆形的子程序,沿相反方向弯曲,并调用第一个子程序,定期在内圆周围绘制额外的圆。

答案 1 :(得分:1)

您可能会对以下代码感兴趣:

from math import sin, cos, pi
from turtle import *

tracer(2,1)

def myCircle(x, y, r, c1, c2): # draw a circle with radius r in the point (x,y)
            up(); goto(x+r, y) ; down()
            color(c1, c2)
            begin_fill()
            for i in range(361):
                a = x + r*cos(pi*i/180)
                b = y + r*sin(pi*i/180)
                goto(a, b)
            end_fill()

c1, c2 = 'red', 'blue'
for i in range(5):
    myCircle(0, 0, 200-i*40,c1, c2 )
    c1, c2 = c2, c1

答案 2 :(得分:0)

试试这个循环:

for i in range(12):
    draw.circle(radius)
    draw.penup()
    draw.left(180)
    draw.circle(radius,30)
    draw.right(180)
    draw.pendown()