Découverte de la programmation
Découverte de Python
Python est le langage de programmation principal utilisé dans le cours de NSI. Cela signifie qu'en respectant les règles de grammaire du langage, il est possible d'écrire des textes en Python qui soient exécutables par l'ordinateur. L'interpréteur python se charge alors d'exécuter les lignes les unes après les autres.
Nous allons utiliser Thonny pour écrire et exécuter les codes Python.

La fenêtre de Thonny est divisée en deux parties :
- l'éditeur dans lequel on écrira les codes en Python ;
- la console dans laquelle on peut exécuter des instructions en Python.
-
Copier-coller ou recopier dans l'éditeur de code le texte ci-dessous :
🐍 Code Python 1 2 3 4 5 6 7 8 9 10 11 12 13
from turtle import * forward(180) left(90) forward(100) right(240) forward(50) # Commencer une ligne par un # permet de laisser un commentaire # forward(70) # le code en commentaire n'est pas exécuté done() # Ne pas effacer # Ne rien écrire iciCliquer sur le bouton "Exécuter".
-
Modifier au minimum trois lignes de code comme vous le souhaitez (par exemple en changeant
left(90)enleft(45), en commentant ou en décommentant une ligne de code), puis exécuter à nouveau.Que font les fonctions
forward,left, etright? -
Écrire des programmes Python (un par figure) qui réalisent les figures ci-dessous.


Répétition d'instructions avec la boucle for
Pour répéter une série d'instructions plusieurs fois on utilise le mot-clé for.
nombre est le nombre de répétitions voulues. Pour identifier le bloc d'instructions qui sera répété, il est décalé vers la droite de 4 espaces (représentés par le caractère ␣).
On parle d'indentation.
L'indentation permet de créer l'équivalent d'un bloc en Scratch. En python, l'indentation est significative et peut être une source d'erreurs.
| 🐍 Code Python | |
|---|---|
1 2 3 4 5 | |
-
Recopier et exécuter le code ci-dessous.
🐍 Code Python 1 2 3 4 5 6 7
from turtle import * for i in range(3): forward(80) left(120) done() # Ne pas effacer, ne pas écrire en dessous. -
Modifier l'indentation, et uniquement l'indentation, du code proposé pour représenter un triangle équilatéral de côté 80 pixels.
-
Écrire un code python permettant d'afficher un carré de côté 80.
Celui-ci ne doit comporter qu'une seule fois le mot
forwardet le motleft. -
Télécharger le fichier se trouvant à l'adresse https://edurl.fr/XyH4oiFC
-
Exécuter le programme.
Quel type d'erreur est utilisé par Python pour signifier qu'il y a un problème avec les espaces en début de ligne ?
-
Modifier le code pour que le programme affiche un pentagramme.
-
Écrire un code python permettant de réaliser la figure ci-contre.

Réutiliser des morceaux de codes avec les fonctions
La notion de fonction est centrale en informatique. Plutôt que de recopier des instructions qui réalisent certaines figures, l'utilisation de fonctions permet de réutiliser des morceaux de codes utiles.
En bref, de la même façon que la fonction forward nous permet d'avancer d'une certaine distance précisée par le programmeureuse, on peut écrire le code d'une fonction carre qui permet de dessiner un carré, dont la longueur du côté est précisée par le programmeureuse.
| 🐍 Code Python | |
|---|---|
1 2 3 4 5 | |
Une fois la fonction carre définie via le code ci-dessus, on peut utiliser à n'importe quel endroit du programme l'instruction carre(20) afin de dessiner un carré de côté 20.
De même qu'avec la boucle for, le bloc de la fonction est défini à l'aide de son indentation.
-
-
Télécharger le fichier se trouvant à l'adresse https://edurl.fr/GgwjRY3L
-
Sans rien modifier, exécuter le code Python. Que constate-t-on ?
-
Modifier le code afin que son exécution réalise un triangle équilatéral de côté 50.
-
-
En utilisant la fonction
triangle, reproduire la figure ci-dessous.
On pourra utiliser les instructions
pencolor("red")etpencolor("black")pour changer la couleur de tracé de la tortue en rouge et noir. Les triangles sont tous équilatéraux et ont pour longueur de côté 100, 150, 200, 250. -
Dessiner la figure de la maison présente dans l'exercice 1 à l'aide des fonctions
carreettriangle.
On considère la fonction
| 🐍 Code Python | |
|---|---|
1 2 3 4 5 6 7 8 | |
-
-
Quelle figure réalise l'exécution de l'instruction
mystere(4, 20, 30)? -
Modifier le code en renommant correctement les noms
mystere,a,b, etcafin que ceux-ci soient plus compréhensibles par rapport à la figure réalisée par la fonctionmystere.
-
-
En vous inspirant du code de la fonction
mystere, écrire le code d'une fonctionspirale_triangleafin de réaliser la figure ci-dessous.
-
À l'aide de la fonction
carreet d'une boucleforreproduire une figure similaire à la figure suivante, constituée de carrés de longueur 70 pixels.
-
Écrire une fonction
escalierpossédant deux arguments:hauteur_marcheetnbr_marches, dessinant un escalier possédantnbr_marchesmarches de hauteurhauteur_marche.Par exemple, l'appel
escalier(20, 5)doit afficher le dessin suivant :
-
-
Écrire une fonction
pentagoned'argumentlongueurqui trace un pentagone de côtés de longueur:longueur. -
Les fonctions
carre,triangleetpentagonese ressemblent beaucoup, or en informatique nous n'aimons pas nous répéter.Définir une fonction
polygonede paramètresnbr_cotesetlongueurqui construit le polygone régulier ànbr_cotescôtés de longueur:longueur. -
À l'aide de la fonction
polygoneet d'une boucle reproduire le dessin suivant :
-
-
La fonction
penuppermet de lever le stylo de la tortue, et donc de ne plus laisser de trace lorsqu'elle avance.La fonction
dotpermet de tracer un point à l'emplacement de la tortue.🐍 Code Python 1 2 3 4 5 6 7 8 9
from turtle import * penup() dot() forward(30) dot() forward(50) dot() done()-
Recopier et exécuter le code ci-dessus.
-
Écrire un code python permettant de réaliser la figure ci-dessous.
L'écart entre chaque point est de 30 pixels, il y a 5 lignes et 7 colonnes de points.

Indication. On pourra commencer à écrire une fonction
lignede paramètrenbr_pointsqui représente une ligne denbr_pointspoints espacés de 30 pixels.
-