I colori possono essere specificati con sequenze crescenti/decrescenti di codici esadecimali.
Nero -> Bianco
Per passare da nero a bianco utilizza le triplette #000
, #111
, …, #FFF

import turtle
WIDTH = 500
HEIGHT = 500
BGCOLOR = "#808080"
SPEED = 0
TITLE = "Gradiente: nero -> bianco"
CIFRE = "0123456789ABCDEF"
NUMERO = len(CIFRE)
PENSIZE = HEIGHT/(NUMERO+2)
xMIN = -0.4*WIDTH
xMAX = +0.4*WIDTH
yMAX = HEIGHT/2-1.5*PENSIZE
turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor(BGCOLOR)
turtle.hideturtle()
turtle.pensize(PENSIZE)
turtle.speed(SPEED)
turtle.title(TITLE)
y=yMAX
for cifra in CIFRE:
colore = "#"+3*cifra
#print("%12f -> %s" %(y, colore))
turtle.penup()
turtle.setposition(xMIN, y)
turtle.pencolor(colore);
turtle.pendown()
turtle.setposition(xMAX, y)
y -= PENSIZE
Nero -> Rosso
Per passare da nero a rosso bisogna mantenere spente le luci verde e blu: #000
, #100
, …, #F00

colore = "#"+cifra+"00"
I colori primari e secondari
I codici RGB generati dal codice sono: 000000, 0000FF, 00FF00, 00FFFF, FF0000, FF00FF, FFFF00, FFFFFF

import turtle
WIDTH = 500
HEIGHT = 500
BGCOLOR = "#888"
SPEED = 0
TITLE = "I colori primari e secondari"
CIFRE = ("00", "FF")
NUMERO = 8
PENSIZE = HEIGHT/(NUMERO+2)
xMIN = -0.35*WIDTH
xMAX = +0.35*WIDTH
yMAX = HEIGHT/2-1.5*PENSIZE
turtle.setup(WIDTH, HEIGHT)
turtle.bgcolor(BGCOLOR)
turtle.hideturtle()
turtle.pensize(PENSIZE)
turtle.speed(SPEED)
turtle.title(TITLE)
y=yMAX
for cifra1 in CIFRE:
for cifra2 in CIFRE:
for cifra3 in CIFRE:
colore = "#"+cifra1+cifra2+cifra3
print("%s" %colore)
turtle.penup()
turtle.setposition(xMIN, y)
turtle.pencolor(colore);
turtle.pendown()
turtle.setposition(xMAX, y)
y -= PENSIZE
I mezzi toni
Con poche modifiche al codice, utilizzando i 3 valori 00, 80, FF, si ottengono 27 mezzi toni: 000000, 000080, 0000FF, 008000, 008080, 0080FF, 00FF00, 00FF80, 00FFFF, 800000, 800080, 8000FF, 808000, 808080, 8080FF, 80FF00, 80FF80, 80FFFF, FF0000, FF0080, FF00FF, FF8000, FF8080, FF80FF, FFFF00, FFFF80, FFFFFF

WIDTH = 800
HEIGHT = 800
xMIN = -0.45*WIDTH
xMAX = +0.45*WIDTH
TITOLO = "I mezzi toni"
CIFRE = ("00", "80", "FF")
NUMERO = len(CIFRE)**3
Continua…
Modificando la costruzione della stringa colore puoi ottenere
- “#0″+cifra+”0″ -> lime
- “#00″+cifra -> blue
- “#”+cifra+cifra+”0″ -> yellow
- “#”+cifra+”0″+cifra -> fuchsia, magenta
- “#”+”0″+cifra+cifra -> aqua, cyan