Aller au contenu

🐢 Triangle de Sierpiński⚓︎

Étudiez le code suivant et le résultat produit

🐍 Script Python
import turtle

def motif(l, n):
    if n > 0:
        for _ in range(4):
            motif(l / 3, n - 1)
            turtle.forward(l)
            turtle.left(90)

turtle.speed(1)  # tortue lente
motif(200, 5)
turtle.done()

Question

Modifiez le script précédent pour obtenir une fonction sierpinski avec les résultats suivants

Une image vide, oui !

🐍 Script Python
sierpinski(200, 0)

Un triangle équilatéral seul !

🐍 Script Python
sierpinski(200, 1)

Le début d'une forme

🐍 Script Python
sierpinski(200, 2)

Le début des jolies choses

🐍 Script Python
sierpinski(200, 3)

Le début des jolies choses

🐍 Script Python
sierpinski(200, 4)

Un jolie fractale en devenir

🐍 Script Python
sierpinski(200, 5)
Réponse
🐍 Script Python
import turtle

def sierpinski(l, n):
    "Dessine le triangle de Sierpiński"
    if n > 0:
        for _ in range(3):
            sierpinski(l / 2, n - 1)
            turtle.forward(l)
            turtle.left(120)

turtle.speed(11)  # tortue très rapide
sierpinski(200, 5)
turtle.done()