Programmation Python - 09/12/2023

Informations :

  • Orateurs : 1
  • Nombre de participants : 6

Compte-rendu :

Au cours de cette séance, nous avons abordé un autre module inclus avec Python : le module "turtle".
Ce module permet de dessiner très simplement des figures. Il est utilisable comme un traceur : imprimante utilisée avec des crayons pour imprimer des plans de grandes dimensions. Il est inspiré de la programmation Logo et permet de déplacer une tortue sur l’écran.
Notre premier programme a pour objectif de découvrir les premières fonctionnalités du module : tracer des traits et orienter la tortue.

# Importation du module "turtle"
import turtle

# Choix des couleurs : rouge pour le trait,
# jaune pour le remplissage
turtle.color("red", "yellow")

# Reglage de la vitesse de deplacement :
#  0 => le plus rapide possible
#  10 => rapide
#  6 => normal
#  3 => lent
#  1 => le plus lent possible
turtle.speed(1)

# On indique que l'on commence le dessin
# pour le remplissage de la forme finale
turtle.begin_fill()

# Avance de 30
turtle.forward(30)

# S'oriente de 45° à gauche (sens anti-horaire)
turtle.left(45)

# Avance de 50
turtle.forward(50)

# S'oriente de 45° à droite (sens horaire)
turtle.right(45)

# Recule de 50
turtle.backward(50)

# Fin de la forme pour le remplissage
turtle.end_fill()

# Demarre la boucle d'evenements
turtle.done()
                    

Nous avons ensuite utilisé une boucle while pour dessiner un mandala : le principe est de dessiner un trait, puis de tourner d'un angle, re-dessiner un trait, etc. La condition de fin d'exécution de la boucle est atteinte quand la tortue revient au point de départ.

# Importation de toutes les fonctions
# du module turtle
from turtle import *

# Choix des couleurs : rouge pour le trait,
# jaune pour le remplissage
color('red', 'yellow')

# On indique que l'on commence le dessin
# pour le remplissage de la forme finale
begin_fill()

# Boucle de dessin
while True:
    # Avance de 200
    forward(200)
    # S'oriente de 170° à gauche (sens anti-horaire)
    left(170)

    # Si la position de la tortue est inferieure
    # a 1 => elle est revenue au point de depart
    if abs(pos()) < 1:
        # Arret de la boucle
        break

# Fin de la forme pour le remplissage
end_fill()

# Demarre la boucle d'evenements
done()
                    

Les différents codes sources sont disponibles sur les liens suivants :

Prochaines séances :

  • 16/12/2023 (10H00..12H00) : Projet Alice : Programmation sur Raspberry PI.
  • 16/12/2023 (18H00..20H00) : [Open Hours] On discute, on explique, on répare !
  • 23/12/2023 (10H00..12H00) : VACANCES !
  • 23/12/2023 (18H00..20H00) : VACANCES !