Consignes pour les projets :
Numérique et sciences informatiques
Projet 13 : Mon beau sapin
Description du mini projet
M. Sommerfeld a besoin d'aide pour décorer son bureau pour Noël. Vous devez programmer une décoration de Noël en Python avec le module Turtle.
Un vote sera organisé pour départager vos travaux.
print("- * ")
print("- *** ")
print("- ***** ")
print("- ******* ")
print("- | ")
On peut aussi utiliser un code plus complexe pour réaliser une première création.
def afficher_sapin(taille):
for i in range(taille):
espace = " " * (taille - i - 1)
etoiles = "*" * (2 * i + 1)
print(espace + etoiles)
#pose du pied
pied = " " * (taille - 1) + "|"
print(pied)
# Utilisation : spécifiez la taille du sapin (nombre de lignes)
taille_sapin = 7
afficher_sapin(taille_sapin)
Cahier des charges
Vous devez utiliser le module Turtle pour votre création.
Turtle est un des modules graphiques disponible pour le langage Python. Il est inspiré de la programmation Logo et permet de déplacer une tortue sur l’écran. Il est alors possible d'effectuer très simplement des dessins constitués de lignes en déplaçant une tortue dans le plan.
Les fonctions disponibles
Les 4 commandes de base
Fonction | Description |
---|---|
forward(n) | Avance de n pixels |
backward(n) | Recule de n pixels |
left(r) | Pivote vers la gauche de r degrés |
right(r) | Pivote vers la droite de r degrés |
Pour modifier les traits dessinés
Fonction | Description |
---|---|
width(n) | Définit la largeur du trait |
color(“blue”) | Définit la couleur du dessin, ici bleu |
bgcolor(“red”) | Définit la couleur du fond |
Autres fonctions bien utiles
Fonction | Description |
---|---|
up() | Lève le crayon pour avancer sans dessiner |
down() | Baisse le crayon pour dessiner |
goto(x,y) | Positionne le crayon en (x,y), (0,0) est le centre de l'écran |
circle(r,a) | Dessine un cercle de rayon r sur un arc d'angle a |
speed(vitesse) | Définit la vitesse de déplacement ( “slowest”, “slow”, “normal”, “fast”, “fastest”) |
write(“texte”) | Ecrit le texte là où se trouve le curseur |
pos() | Renvoie un tuple (x,y) de la position de la tortue |
Exemple de dessin d'un carré
Activité de découverte à faire : dessiner un triangle
Créez un programme python qui dessine un triangle :
Vous pouvez aussi utiliser ce tuto pour turtle .
Utiliser de la couleur
En apprenant à manipuler la palette de couleurs dans vos projets, vous pouvez ajouter une dimension visuelle à vos créations informatiques, les rendant plus interactives, attrayantes et informatives pour les utilisateurs.
N'oubliez pas que le choix des couleurs ne se limite pas à l'esthétique, mais joue également un rôle crucial dans la communication visuelle et la facilité d'utilisation de nos applications.
import turtle
turtle.tracer(0)
# Listes de couleurs pour chaque thème
rouge = ["red", "dark red", "firebrick", "crimson", "indian red", "maroon", "salmon", "tomato"]
jaune = ["gold", "yellow", "orange", "dark orange", "light yellow", "goldenrod", "khaki"]
bleu = ["blue", "dark blue", "medium blue", "royal blue", "navy", "deep sky blue", "cornflower blue", "steel blue"]
vert = ["green", "dark green", "medium sea green", "lime green", "forest green", "olive", "pale green"]
gris = ["gray", "dark gray", "dim gray", "light gray", "dark slate gray", "slate gray", "silver"]
marron = ["saddle brown", "sienna", "chocolate", "peru", "brown", "rosy brown", "tan"]
rose = ["pink", "light pink", "hot pink", "deep pink"]
violet = ["purple", "dark violet", "medium orchid", "lavender", "thistle"]
orange = ["orange red", "dark orange", "coral", "orange", "tomato"]
blanc = ["white", "snow", "ivory", "linen"]
# Fonction pour dessiner un carré de la couleur spécifiée à la position (x, y)
def dessiner_carre(couleur, x, y):
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.color(couleur)
turtle.begin_fill()
for _ in range(4):
turtle.forward(50)
turtle.right(90)
turtle.end_fill()
# Dessiner tous les carrés côte à côte sur plusieurs lignes
x_start = -300
y_start = 300
for theme_couleur in [rouge, jaune, bleu, vert, gris, marron, rose, violet, orange, blanc]:
x = x_start
y = y_start
for couleur in theme_couleur:
dessiner_carre(couleur, x, y)
x += 70 # Espacement horizontal entre les carrés
if x >= x_start + 500: # Pour passer à la ligne suivante
x = x_start
y -= 30 # Espacement vertical entre les lignes
y_start -= 80 # Espacement vertical entre les thèmes de couleurs
# Fermer la fenêtre turtle en cliquant dessus
turtle.exitonclick()
turtle.hideturtle()
turtle.done()
Le projet à réaliser
Entraînement 1:
Implémentez une fonction sapin qui permet de dessiner un sapin
def sapin():
"""
Fonction qui permet de dessiner un sapin
"""
pass # pass sert à éviter les erreurs
Entraînement 2:
Implémentez une fonction qui ajoute aléatoirement une décoration ronde au sapin
def deco_1():
"""
"""
pass # pass sert à éviter les erreurs
Entraînement 3:
Implémentez une fonction qui ajoute une guirlande à votre sapin
def guirlande():
"""
:
"""
pass # je ne sais pas encore
Entraînement 4:
Utilisez les fonctions précédentes pour réaliser un beau sapin de Noël. Vous pouvez réaliser plusieurs appels de fonction pour décorer votre sapin. Pour faire varier les motifs, tu peux changer leur couleur, leur dimension en mettant ces informations en paramètre dans des variables.
Amélioration
Amélioration 1 :
Ajouter un decor dynamique
Amélioration 2 :
Réaliser une IHM avec tkinker pour encore plus de dynamisme. Vous trouverez un très bon tuto sur cette page ou ici .