Я хочу заполнить круги разными цветами, используя array в turtle python

#python #arrays #turtle-graphics

#python #массивы #turtle-графика

Вопрос:

введите описание изображения здесь Я сделал 4 таких круга, используя жесткий код для каждого круга, но это неэффективно.

это мой код, но я не понимаю, как получить доступ к массиву цветов и массиву координат x amp; y, чтобы к нему можно было получить доступ по всему индексу.

 from turtle import *
setup()
title('4 CIRCLES')

col = ['yellow', 'green', 'blue', 'red']
x = [100,65,30,5]
y = [100,65,30,5]

def lingkaran(number, rad = 50) :
    for cir in range(number) :
        penup()
        goto(x, y)
        pendown()
        color(col)
        begin_fill()
        circle(rad)
        end_fill()
        lingkaran(4)

hideturtle()
done()
  

Я хочу упростить это, получив доступ к массивам, надеюсь, кто-нибудь сможет помочь.
Спасибо

Комментарии:

1. Я сделал отступ; но ваш код здесь неправильный. Вы не используете значения внутри списков, а используете весь список в качестве аргумента, что наверняка вызовет ошибку

Ответ №1:

Поскольку мы смотрим на фиксированное расстояние между кругами, я бы изменил массив координат в пользу начальной позиции и смещения. Тогда я бы просто зациклился на массиве цветов:

 from turtle import *

title('4 CIRCLES')

COLORS = ['yellow', 'green', 'blue', 'red']

def lingkaran(colors, position, offset, radius, pen_width=3):
    width(pen_width)

    for color in colors:
        penup()
        goto(position)
        pendown()

        fillcolor(color)
        begin_fill()
        circle(radius)
        end_fill()

        position  = offset

lingkaran(COLORS, Vec2D(-100, 100), Vec2D(35, -35), 50)

hideturtle()
done()
  

введите описание изображения здесь

Но есть много способов решить подобную проблему.