Вы передаете значения RGB от 0 до 255. По умолчанию цветовой режим в черепахе составляет от 0 до 1,0. Поэтому вам нужно сначала установить цветовой режим на 255, прежде чем пытаться установить такие значения RGB. или вам нужно установить значения rgb от 0 до 1,0.
turtle.color говорит, что
"""Return color string corresponding to args.
Argument may be a string or a tuple of three
numbers corresponding to actual colormode,
i.e. in the range 0<=n<=colormode.
If the argument doesn't represent a color,
an error is raised.
"""
цветовой режим может быть либо 1,0, либо 255. Таким образом, по умолчанию цветовой режим равен 1,0, поэтому цвет имеет этот код
if self._colormode == 1.0:
r, g, b = [round(255.0*x) for x in (r, g, b)]
if not ((0 <= r <= 255) and (0 <= g <= 255) and (0 <= b <= 255)):
raise TurtleGraphicsError("bad color sequence: %s" % str(color))
Допустим, вы передаете 100, 100, 100 в качестве RGB, но цветовой режим в настоящее время установлен на 1,0. тогда цвет умножит все ваши RGB на 255.0. Таким образом, ваш rgb станет 25500, 25500, 25500. Затем цвет будет проверять, что каждый RGB находится между 0 и 255 включительно, однако, поскольку цвет умножил все rgbs на 255, так как цветовой режим равен 1.0, все ваши rgbs теперь превышают 255, поэтому цвет дает плохой исключение цветовой последовательности.
Таким образом, либо установите цветовой режим на 255, либо передайте значения rgb в диапазоне от 0 до 1
255 RGB
from turtle import *
from random import *
colormode(255)
def randomcolour():
red = randint(0, 255)
green = randint(0, 255)
blue = randint(0, 255)
color(red, green, blue )
с плавающей точкой rgb
from turtle import *
from random import *
def randomcolour():
red = uniform(0, 1)
green = uniform(0, 1)
blue = uniform(0, 1)
color(red, green, blue )
Что касается работы с брелком, но не с другими, возможно, брелок устанавливает для вас цветовой режим 255