Код концентрических окружностей даст мне еще один круг, чем я ввожу - PullRequest
0 голосов
/ 20 января 2019

Мой код концентрических окружностей работает, но когда я ввожу количество кружков, которое мне нужно, оно даст мне еще один кружок, чем я хочу.Например, если я введу 7 кругов, это даст мне 8, но это будет больше, чем за 6 кругов.Мне было интересно, что не так с моим кодом и почему он это делает.Благодарю.

мой код

 if r>=50 or r<=200: #if radius is in range, draw circles
            for c in range (r, 1, int(-r/num_circles)):
                turtle.fillcolor(random.random(),random.random(),\
                random.random()) #circles will be a random color
                turtle.begin_fill()
                turtle.circle(c)
                turtle.penup()
                turtle.left(90) #concentric
                turtle.forward(r/num_circles)
                turtle.right(90)
                turtle.pendown()
                turtle.end_fill()
        turtle.hideturtle()
        time.sleep(5)
        turtle.clear() #clears screen

1 Ответ

0 голосов
/ 20 января 2019

измените for цикл for c in range (r, 1, int(-r/num_circles)) на for c in range (r, int(r/num_circles), int(-r/num_circles)), чтобы он достиг минимума вместо 1.

if r>=50 or r<=200: #if radius is in range, draw circles
    for c in range (r, int(r/num_circles), int(-r/num_circles)):
        turtle.fillcolor(random.random(),random.random(),\
        random.random()) #circles will be a random color
        turtle.begin_fill()
        turtle.circle(c)
        turtle.penup()
        turtle.left(90) #concentric
        turtle.forward(r/num_circles)
        turtle.right(90)
        turtle.pendown()
        turtle.end_fill()
        turtle.hideturtle()
    time.sleep(5)
    turtle.clear() #clears screen
...