LA TABLE DE SEPT
Une petite note par lerautal
1. SOUVENIRS D'ENFANCE
Inès :
"Avant de partir dans des choses
compliquées avec le Python, j'aimerais que tu fasses quelque chose pour
moi.
- Tu peux expliquer ?
- Quand j'étais enfant, j'ai eu beaucoup de mal à apprendre les tables
de multiplication"
Siril intervient :
"Moi aussi, surtout la table de sept, quand j'arrivais à 7 fois 8 je me
trompais souvent."
François :
"Bon, alors démarrons avec la table de
sept. Et, puisque l'on commence au tout début, lançons Python de la
façon la plus élémentaire."
Il lance l'exécution de Python (cela se fait de façon différente sous
Windows et Linux) et se retrouve avec une fenêtre ouverte qui sous Linux
ressemble à cela :
"
Repère bien le triple chevron, il est
caractéristique de Python." (ou, tout au moins de l'environnement
interactif appelé
iddle)
2. PREMIÈRE POSSIBILITÉ
"Pour que Python affiche une réponse, on
peut (doit ?) utiliser le mot print
(sans accents ni majuscules" suivi de ce qu'on veut lui faire afficher.
Par exemple :
print 1*7 (suivi de
entrée) donnera 7 comme résultat.
print 2*7 (suivi de entrée)
donnera 14 comme résultat.
D'ailleurs regarde sur l'écran : "
"Oui, mais ce n'est pas très explicite.
Tu ne peux pas le rendre 'plus causant' ?
- Si, bien-sûr : je vais ajouter du texte, mais il faudra le mettre
entre guillements et le séparer du reste par une virgule. Cela va mieux
comme cela ?
>>> print "Six
fois huit : ",6*8
Six fois huit : 48
>>>
Que dois-je taper pour 7 fois 8 ? "
Inès tape :
>>> print "Sept
fois huit : ",7*8
Sept fois huit : 56
>>>
3. REMISE EN CAUSE
Siril :
"Je suis un bon vendeur. Mais une
démarche aussi fastidieuse je ne pourrais pas la vendre.
Tu dois pouvoir nous proposer mieux, quand même.
- Oui, mais il me faut un peu de matériel pour aller plus loin."
Il se lève et rapporte une feuille de papier, un crayon et une gomme et
deux Post-it.
Sur l'un il écrit
fois et le chiffre
1.
Sur le second il écrit
table_de et
le chiffre 7.
Et il commence à écrire sur la feuille tout en commentant.
"J'écris fois = 1 parce qu'on commence
la table de 7 par 1 fois 7. Cela correspond au premier Post-it.
J'écris table_de = 7 pour rappeler que nous calculons la table de sept.
Cela correspond au premier Post-it. Si l'on veut faire la table de 8, il
suffit d'effacer le 7 et de mettre un 8 à la place.
J'ai écrit Répéter, parce que quand on récite la table c'est ce que l'on
fait, en ajoutant 1 à chaque fois.
Et puis imprime fois * table_de c'est pour obtenir un résultat.
- D'accord, mais alors dans fois tu vas
effacer 1 mettre 2, puis effacer 2 et mettre 3, puis...
Mais cela s'arrête quand ?
- Tel que c'est là, cela ne s'arrête
jamais. En informatique on appelle cela une boucle infinie.
Si tu veux que cela s'arrête, il faut lui mettre une limite (une
condition d'arrêt). Dans les tables de notre enfance, on s'arrêtait à
10."
Thomas reprend le crayon et modifie le texte
sur la feuille :
fois = 1
table_de = 7
répéter tant que fois est plus petit que 11 :
imprime fois * table_de
fois = fois +1
"Vous remarquerez les deux-points qui ne
sont pas nécessaires ici, mais dont on a besoin avec Python (autant en
prendre l'habitude). Et puis aussi le décalage vers la droite des deux
dernières lignes. Dans Python on procède ainsi après le deux-points.
En langage technique on appelle cela une indentation.
Cela s'obtient en pressant la touche "tabulation" (à gauche du clavier
les deux flêches qui se rentrent dedans)."
Remarques :
En Python "répéter tant que" s'écrit "
while"
suivi d'une condition d'arrêt.
fois et
table_de
s'appellent des variables (comme les Post-it que l'on peut modifier).
Si l'on ne pense pas à ajouter 1 à fois, la boucle sera infinie : la
condition d'arrêt ne sera jamais remplie.
Et maintenant le code et l'exécution dans Python.
Pour lancer l'exécution on tape "Entrée" une fois de plus à la fin.
4. RÉCAPITULATION ET EXERCICES
- Utilisation
de variables auxquelles on affecte une valeur : fois=1, table_de = 7
- Modification
du contenu d'une variable : fois = fois + 1
- Boucle avec
condition d'arrêt : while fois < 11 :
Mine de rien, nous venons d'aborder trois mécanismes (et il y en peu)
fondamentaux de l'informatique.
Le principe de la table de multiplication est repris du livre de Gérard
Swinnen "Apprendre à programmer avec Python...".
Un petit truc qui aide bien :
Dans "Iddle" quand on appuie sur la touche "flêche haute" on reproduit la
ligne introduite précédemment (et on peut la modifier sans tout retaper).
Exercices :
A. Modifier le programme de façon
à obtenir
1 fois 7 égale 7
2 fois 7 égale 14 ...
(aide : texte entre guillemets et séparation des variables par des
virgules).
B. Modifier le programme de façon
à obtenir la table de 8
(inspirez-vous de la solution pour A).
C. Modifier le programme de la
table de 7 pour "fois" allant jusqu'à 15.
( Le listage se terminera par : 15 fois 7 égale
105).
Solutions :
Code possible du programme A
fois =1
table_de = 7
while fois < 11 :
print fois," fois ",table_de," égale ", fois*table_de
fois = fois +1
Code possible du programme B
fois =1
table_de = 8
while fois < 11 :
print fois," fois ",table_de," égale ", fois*table_de
fois = fois +1
Code possible du programme C
fois =1
table_de = 7
while fois < 16 :
print fois," fois ",table_de," égale ", fois*table_de
fois = fois +1