TP Python n°1

vendredi 3 mai 2019
par  Florent Girod

Une première approche du langage de programmation Python par le biais de ce TP :

(ici, une version ’papier’)

présentation

Les logiciels permettant d’écrire en langage Python ont, en général, deux fenêtres de saisie de code :

  • une console (shell en anglais) où les instructions sont exécutées au fur et à mesure qu’elles sont entrées. Dans la console, la ligne est précédée par les caractères >>>
  • un éditeur qui permet d’écrire des scripts (des programmes) et de les enregistrer avant de les exécuter.

pyzo

Utilisation du module Turtle pour réaliser des figures

Dans la console, entrer les instructions suivantes :

>>> from turtle import*
>>> forward(120)
>>> left(90)
>>> color("red")
>>> forward(80)
>>> up()
>>> forward(30)
>>> down()
>>> forward(10)
>>> reset()

Recopie sur ton cahier chaque ligne et explique le rôle de chaque instruction.

des figures

1. Tracer un carré de 100 pixels de côté PNG - 1.6 ko 2. Tracer la figure ci-dessous (chaque carré fait 100 pixels de côté) : PNG - 1.3 ko 3. Tracer la figure ci-dessous (le carré fait 100 pixels de côté) : PNG - 9.9 ko

4. Tracer la figure ci-dessous (le carré fait 100 pixels de côté) : PNG - 9.7 ko

améliorations 1 et 2

amélioration 1 : la console ne permet pas d’enregistrer le script d’un programme. Pour y remédier, on tape le script du programme dans l’éditeur. Ensuite, on l’enregistre, puis on lance l’exécution à l’aide du raccourci « Ctrl+shift+E » (ou alors en passant par le menu « Exécuter » puis « Démarrer le script »)

amélioration 2  : on observe que certaines instructions sont répétées à plusieurs reprises. On peut alors utiliser une boucle pour (for en anglais).

Taper le programme suivant en respectant scrupuleusement la syntaxe et l’indentation :

from turtle import *
for k in range (4) :
   forward(100)
   left(90)

L’exécuter puis analyser les instructions sur votre cahier.

les fonctions

amélioration 3  : on constate également que plusieurs programmes ont nécessité la création d’un carré. On peut alors définir une fonction [1] qui tracera un carré à chaque fois qu’on y fera appel.

Taper le programme suivant :

from turtle import *
def carre(n) :
   for k in range (4) :
       forward (n)
       left(90)

Que se passe-t-il ?

Dans la console, taper >>>carre(100)

Que se passe-t-il ?

La figure 3 (tracée précédemment) peut, par exemple, être obtenue à partir du programme suivant (à taper à la suite du programme précédent) :

for k in range (4) :
   carre(100)
   left(90)

En tenant compte des remarques précédentes, réaliser les figures ci-dessous :

PNG - 3.7 ko PNG - 2.3 ko
PNG - 4.6 ko PNG - 1.4 ko

Scratch ?

Voici le programme permettant de tracer une figure précédemment tracée en langage Scratch puis en langage Python :

Quatre carrés
PNG - 1.3 ko
Scratch
Python
PNG - 239.1 ko
from turtle import *
for k in range (4) :
   for k in range (4) :
       forward(100)
       left(90)
       left(90)
  • Dans le langage Python, l’instruction « for k in range(n) », qui signifie que la variable k parcourt la liste des nombres entiers entre 0 et n-1, permet de répéter les instructions qui sont dans la boucle n fois.

Cette boucle correspond, dans le langage Scratch, à la boucle « répéter n fois »

On découvrira par la suite que la « boucle pour » est beaucoup plus riche que « répéter ».

  • Dans le langage Python, l’indentation (décalage vers la droite) des instructions indique quelles sont les instructions qui se trouvent dans la « boucle pour ». En langage Scratch, ce sont les blocs qui indiquent les instructions à « répéter ».

bilan

Rédiger sur votre cahier un résumé des aspects techniques vus au travers de ce tp ; les mots suivants [2] devront en particulier être explicités :

  • importation
  • indentation
  • fonction
  • boucle pour
  • console
  • exécution
  • bibliothèque
  • éditeur
  • paramètre

[1] au sens algorithmique du terme

[2] mots placés volontairement dans un ordre pas très logique !


Navigation

Articles de la rubrique