Como desenhar com Python usando Turtle
Use o módulo Turtle para criar desenhos, formas geométricas e padrões visuais com Python.
O que é o Turtle?
Turtle é um módulo que já vem instalado com Python. Ele abre uma janela gráfica onde você controla uma "tartaruga" que desenha na tela enquanto se move. É uma das formas mais visuais e divertidas de aprender programação.
Pense assim: a tartaruga segura uma caneta. Quando ela anda para frente, desenha uma linha. Você controla para onde ela vai, quando levanta a caneta (para de desenhar) e quando abaixa (volta a desenhar).
Primeiro desenho
Vamos começar com um quadrado simples:
import turtle
tela = turtle.Screen()
tela.bgcolor("black")
tela.title("Meu primeiro desenho")
t = turtle.Turtle()
t.color("white")
t.speed(3)
# Desenhar um quadrado
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
turtle.done()
forward(100)— anda 100 pixels para frenteleft(90)— gira 90 graus para a esquerdaturtle.done()— mantém a janela aberta
Usando loops para simplificar
Um quadrado tem 4 lados iguais. Em vez de repetir o código, usamos um for:
import turtle
t = turtle.Turtle()
t.color("cyan")
t.speed(3)
for _ in range(4):
t.forward(100)
t.left(90)
turtle.done()
E um triângulo? Basta mudar o número de lados e o ângulo:
for _ in range(3):
t.forward(100)
t.left(120) # 360 / 3 = 120 graus
A fórmula é: ângulo = 360 / número de lados. Funciona para qualquer polígono regular.
Desenhando um círculo e uma estrela
O Turtle tem um método pronto para círculos:
t.circle(80) # circulo com raio de 80 pixels
Para uma estrela de 5 pontas, usamos o ângulo de 144 graus:
import turtle
t = turtle.Turtle()
t.color("yellow")
t.speed(3)
for _ in range(5):
t.forward(150)
t.right(144)
turtle.done()
Por que 144 graus? Uma estrela de 5 pontas precisa de 2 voltas completas (720 graus) divididas por 5 pontas: 720 / 5 = 144.
Cores e preenchimento
Podemos preencher formas com cor:
import turtle
t = turtle.Turtle()
t.speed(5)
t.fillcolor("red")
t.begin_fill()
for _ in range(5):
t.forward(150)
t.right(144)
t.end_fill()
turtle.done()
Tudo que for desenhado entre begin_fill() e end_fill() será preenchido com a cor definida em fillcolor().
Criando padrões com loops
Aqui a magia acontece. Combinando loops e rotações, criamos padrões complexos com poucas linhas:
import turtle
tela = turtle.Screen()
tela.bgcolor("black")
t = turtle.Turtle()
t.speed(0) # velocidade maxima
cores = ["red", "orange", "yellow", "green", "cyan", "blue", "purple"]
for i in range(100):
t.color(cores[i % len(cores)])
t.forward(i * 2)
t.left(91)
turtle.done()
Esse código cria uma espiral quadrada colorida. O truque é o ângulo de 91 graus — não é exatamente 90, então cada volta fica levemente deslocada, criando o padrão espiral.
O i % len(cores) alterna entre as cores da lista automaticamente.

Espiral circular
Outra variação bonita:
import turtle
tela = turtle.Screen()
tela.bgcolor("black")
t = turtle.Turtle()
t.speed(0)
for i in range(200):
t.color(f"#{i % 256:02x}{(i * 2) % 256:02x}{(255 - i) % 256:02x}")
t.circle(i / 2)
t.left(10)
turtle.done()
Esse código gera cores dinamicamente usando formato hexadecimal RGB. Cada círculo tem um raio diferente e uma rotação, criando uma espiral circular.

Função para desenhar qualquer polígono
Vamos criar uma função reutilizável:
import turtle
def poligono(t, lados, tamanho, cor):
t.color(cor)
angulo = 360 / lados
t.begin_fill()
for _ in range(lados):
t.forward(tamanho)
t.left(angulo)
t.end_fill()
tela = turtle.Screen()
tela.bgcolor("black")
t = turtle.Turtle()
t.speed(3)
# Triangulo
t.penup()
t.goto(-200, 0)
t.pendown()
poligono(t, 3, 80, "red")
# Quadrado
t.penup()
t.goto(-50, 0)
t.pendown()
poligono(t, 4, 80, "green")
# Hexagono
t.penup()
t.goto(100, 0)
t.pendown()
poligono(t, 6, 50, "blue")
turtle.done()
Novos comandos:
penup()— levanta a caneta (para de desenhar)pendown()— abaixa a caneta (volta a desenhar)goto(x, y)— move a tartaruga para uma posição específica

Comandos mais usados
| Comando | O que faz |
|---|---|
forward(n) |
Anda n pixels para frente |
backward(n) |
Anda n pixels para trás |
left(graus) |
Gira para a esquerda |
right(graus) |
Gira para a direita |
circle(raio) |
Desenha um círculo |
penup() |
Para de desenhar |
pendown() |
Volta a desenhar |
goto(x, y) |
Move para a posição |
color("cor") |
Muda a cor da linha |
fillcolor("cor") |
Muda a cor de preenchimento |
speed(n) |
Velocidade (0=máxima, 1=lenta, 10=rápida) |
hideturtle() |
Esconde a tartaruga |
Dicas para ir além
- Desenho livre: use
turtle.onscreenclick()para desenhar onde o usuário clicar - Animações: combine
time.sleep()com movimento para criar animações simples - Fractais: pesquise "fractal tree python turtle" — é surpreendentemente simples
Conclusão
O Turtle transforma código em arte visual. É uma forma excelente de entender loops, funções e geometria ao mesmo tempo. No último artigo desta trilha, vamos criar uma lista de tarefas completa no terminal.