#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()
Но есть много способов решить подобную проблему.