🐢 TP – Boucle for et module turtle⚓︎
Objectifs⚓︎
- Découvrir la boucle foren Python.
- Utiliser la bibliothèque turtlepour tracer des formes géométriques.
- Comprendre la répétition d’instructions.
1. Prise en main de turtle⚓︎
🐍 Script Python
import turtle
t = turtle.Turtle()
t.speed(3)
for i in range(4):
    t.forward(100)
    t.right(90)
turtle.done()
👉 Question : Que dessine ce programme ? 
👉 Modifier les valeurs pour comprendre le rôle de forward() et right().
2. Polygones réguliers⚓︎
Écrire un programme qui dessine un polygone régulier à n côtés, chaque côté mesurant 100 pixels.
💡 Rappel : l’angle de rotation est 360 / n.
Exemple attendu pour n = 6 : un hexagone.
Correction
🐍 Script Python
import turtle
t = turtle.Turtle()
t.speed(0)
n=6
angle = 360 / n
for i in range(n):
    t.forward(50)
    t.right(angle)
turtle.done()
3. Spirale carrée⚓︎
Écrire un programme qui dessine une spirale de carrés :
 
 
Correction
🐍 Script Python
import turtle
t = turtle.Turtle()
t.speed(0)
for i in range(50):
    t.forward(10 + i*5)
    t.right(90)
turtle.done()
👉 Modifier le pas de l’incrément pour obtenir différentes spirales.
4. Rosace d’étoiles⚓︎
Écrire un programme qui dessine plusieurs étoiles à 5 branches en rotation.
💡 Indice :
- une étoile à 5 branches se fait avec t.forward(100)ett.right(144)dans une boucle de 5.
- répéter l’étoile en tournant un peu entre chaque dessin.
 
 
correction
🐍 Script Python
import turtle
# Paramètres
nb_etoiles = 36     # nombre d’étoiles dans la rosace
taille = 120        # longueur d’un segment de l’étoile
rotation = 360 / nb_etoiles
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
# Dessin de la rosace d'étoiles 
for k in range(nb_etoiles):
    # tracer une étoile à 5 branches
    for i in range(5):
        t.forward(taille)
        t.right(144)
    # légère rotation avant la prochaine étoile
    t.right(rotation)
turtle.done()
👉 Change de couleur à chaque étoile
5. Défi final 🎯⚓︎
Créer un programme qui demande à l’utilisateur (dans la console):
- le nombre de côtés d’un polygone,
- le nombre de polygones à dessiner, et affiche une figure géométrique artistique (effet rosace ou mandala).
💡 Indice :
- Utiliser input()pour récupérer une valeur :
🐍 Script Python
n = input("Combien de côtés ? ")
⚠️ Par défaut, input() renvoie une chaîne de caractères (str).
Il faut caster (convertir) en entier avec int() :
🐍 Script Python
n = int(input("Combien de côtés ? "))
- Même chose pour le nombre de polygones.
Correction
🐍 Script Python
import turtle
t = turtle.Turtle()
t.speed(0)
# Demande des paramètres à l'utilisateur
n = int(input("Combien de côtés pour le polygone (>=3) ? "))
nb = int(input("Combien de polygones à dessiner ? "))
taille = int(input("Longueur d’un côté (en pixels) ? "))
# Sécurisation simple
if n < 3:
    n = 3
# Calcul des angles
angle_poly = 360 / n
rotation = 360 / max(nb, 1)
# Dessin de la rosace
for k in range(nb):
    # dessiner un polygone régulier
    for i in range(n):
        t.forward(taille)
        t.right(angle_poly)
    # tourner un peu avant le polygone suivant
    t.right(rotation)
turtle.done()