Как в turtle установить цвет пера в виде значений red, green, blue?
Я хочу использовать random.randint(1,255) чтобы выбрать цвет пера в виде набора чисел (red, green, blue). Как, используя этот набор, установить цвет пера в turtle?
Мой код:
import turtle
import random
turtle.left(90)
turtle.pensize(5)
red = 1
green = 25
blue = 140
turtle.teleport(-50, 50)
# turtle.pencolor(red, green, blue) ?????????
turtle.backward(100)
Ответы (1 шт):
В модуле turtle есть параметр colormode, который задает формат числового представления цвета. Он может быть равен либо 1.0, и тогда цвета должны быть представлены вещественным числом от нуля до единицы, либо 255, и тогда цвета должны быть представлены целым числом от 0 до 255. По умолчанию он равен 1, из-за чего при попытке установить цвет turtle.pencolor(1, 25, 140) возникает ошибка:
turtle.TurtleGraphicsError: bad color sequence: (1, 25, 140)
Чтобы использовать целые числа для указания цвета, нужно сменить colormode:
...
turtle.colormode(255)
rgb_color = [random.randint(0, 255) for _ in range(3)]
turtle.pencolor(rgb_color)
...
При этом цвет можно передавать в pencolor и в виде единой последовательности, как в примере выше, и в виде трех независимых значений, например turtle.pencolor(1, 25, 140).