Exercices d'entraînement☘
Ces exercices doivent être utilisés pour vous entraîner à programmer. Ils sont généralement accompagnés de pistes et de leur solution pour vous permettre de progresser.
Avant de vous précipiter sur ces solutions dès la première difficulté, n'oubliez pas les conseils suivants :
- Avez-vous bien fait un schéma au brouillon pour visualiser le problème posé ?
- Avez-vous essayé de rédiger un algorithme en français, avec vos propres mots, avant de vous lancer dans la programmation sur machine ?
- Avez-vous utilisé des affichages intermédiaires, des
print()
, pour visualiser au fur et à mesure le contenu des variables ? - Avez-vous testé le programme avec les propositions de tests données dans l'exercice ?
- Avez-vous testé le programme avec de nouveaux tests, différents de ceux proposés ?
Rappels
- Chaque programme Python doit être sauvegardé sous forme de fichier texte
avec l'extension
.py
.
Enregistrez ce fichier dans le dossier[F01-Module Turtle]
avec le nom donné à l'exercice :ProgF01.61.py
,ProgF01.62.py
, etc... - Pour exécuter ce programme, il suffit de le sauvegarder puis d'appuyer
sur la touche
[F5]
.
ProgF02.61☘
-
Définir la fonction
carre()
qui permet de dessiner un carré.1 2 3 4 5 6
def carre(t, lg_cote): """ t - une tortue lg_cote - int, longueur d'un côté du carré Sortie: None - la tortue trace un carré de côté lg_cote pixels """
Un code possible
1 2 3 4 5 6 7 8 9 10 11
from turtle import * def carre(t, lg_cote): """ t - une tortue lg_cote - int, longueur d'un côté du carré Sortie: None - la tortue trace un carré de côté lg_cote pixels """ for i in range(4): t.forward(lg_cote) t.left(90)
-
A l'aide de cette fonction, reproduire la figure suivante à l'aide d'instructions judicieusement placées dans le «
main
» :
Cahier des charges :
- Les carrés ont des cotés de longueur 50 pixels ;
- La distance entre deux carrés est de 75 pixels ;
- On commencera le dessin à (-300, 0) ;
-
La couleur des carrés sera prise aléatoirement dans la liste :
1
ChoixCouleur = ["red", "green", "blue", "orange", "purple", "pink", "yellow", "black"]
Une piste
Vous pouvez importer la fonction
choice()
incluse dans le modulerandom
qui renvoie un élément choisi aléatoirement dans le tableau passé en paramètre.Une autre piste - Un code à compléter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
from turtle import * def carre(t, lg_cote): """ t - une tortue lg_cote - int, longueur d'un côté du carré Sortie: None - la tortue trace un carré de côté lg_cote pixels """ pass if __name__ == '__main__': TurtleScreen._RUNNING = True sophie = Turtle() # le nom de la tortue sophie.hideturtle() sophie.up() sophie.goto(-300,0) sophie.down() sophie.speed(0) # À compléter exitonclick()
Une solution possible
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
from turtle import * from random import choice def couleur(): """ renvoie une couleur au hasard dans la liste """ ChoixCouleur = ["red", "green", "blue", "orange", "purple", "pink", "yellow", "black"] return choice(ChoixCouleur) def carre(t, lg_cote): """ t - une tortue lg_cote - int, longueur d'un côté du carré Sortie: None - la tortue trace un carré de côté lg_cote pixels """ for i in range(4): t.forward(lg_cote) t.left(90) if __name__ == '__main__': TurtleScreen._RUNNING = True sophie = Turtle() # le nom de la tortue sophie.hideturtle() sophie.up() sophie.goto(-300,0) sophie.down() sophie.speed(0) for i in range (8): sophie.color(couleur()) sophie.begin_fill() carre(sophie, 50) sophie.end_fill() sophie.up() sophie.forward(75) sophie.down() exitonclick()
ProgF02.62☘
La rosace ci-contre a été dessinée en utilisant un tableau de crayons. Chaque « pétale » a été tracé par un crayon différent. Voici quelques pistes pour reproduire cette figure :
-
Définir une fonction
petale()
qui permet de tracer un petale :
Un pétale est une succession de déplacements de 15 pixels, entrecoupés d'une rotation dont l'angle va de 0 à 16 degrés puis revient à 0 degrés avec un pas de 1.1 2 3 4 5
def petale(crayon, longueur, angle): """ crayon - une tortue Sortie: None - Le crayon trace un pétale """
-
Définir un tableau vide qui contiendra les futurs crayons.
- En utilisant une boucle, créer un nouveau crayon, définir ses caractéristiques (épaisseur, couleur, orientation initiale, etc...) puis ajouter ce crayon au tableau précédent.
- Tracer la rosace.
Pour les couleurs, utiliser une liste de couleurs nommées pré-définies.
Par exemple : couleurs = ['blue', 'orange', 'green', 'red', 'brown', 'pink', 'black', 'purple']
.
Une piste
Chaque nouveau crayon inséré dans la liste doit avoir une orientation différente des crayons précédents. On rappelle qu'un plan est partagé en 360 degrés : papier, crayon et mathématiques seront nécessaires !
Une solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|