Initiation à Python : procédures et premières boucles

Partage
Initiation à Python : procédures et premières boucles

Wikipedia dixit :

Python est apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation plus aisée aux concepts de base de la programmation.

Dans le cadre d’une structure « soutien-excellence » j’ai la chance d’animer pour des élèves de troisième, un module d’initiation à la programmation d’algorithmes numériques.

Oh ! nous y allons doucement, et si nous nous sommes surtout amusé la première fois avec l’IDLE,  l’environnement intégré à Python, nous avons aujourd’hui pénétré un peu dans la magie de la programmation.

def table(x):
    "la table de x"
    i=0
    while (i<10):
        i=i+1
        print (i,"x",x,"=",x*i)
 
def tables(x):
    "les x premières tables"
    i=0
    while (i<x):
        i=i+1
        table(i)
        print (30*"_")

Pas grand chose en effet dans ce petit bout de code :
Deux procédures définies par le mot clef « def ». Elles contiennent chacune une boucle « while » (tant que…)
(Ne me reprochez pas de ne pas utiliser « for », je m’adresse à des débutants)

Une procédure est une partie de programme indépendante des autres procédures.
La première procédure appelé « table » attend une valeur entière: La première ligne entre guillemets est une documentation de la procédure. Une fois le programme chargé et exécuté (Run Module F5), si l’on tape dans l’iIDLE « table(« …

Python a la gentillesse de nous dire ce qu’il attend !

  • Que fait cette procédure ?

Elle crée une boite une variable i dans laquelle elle range qu’elle initialise avec la valeur 0. (i=0)

Et tant que la variable i est inférieure à 10 :

  1. Elle remplace le contenu de la boite la variable i par i+1.
  2. Elle affiche successivement i, le signe multiplié, le nombre de départ x, le signe « égal » est le produit de x par i.

On sortira donc du « tant que » quand i sera égal à 11 pour n’afficher que les tables de 1 à 10 :

>>> table(5)
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 5 = 50
>>>

La deuxième procédure tables(x), elle affichera les tables de 1 à x :

>>> tables(3)
1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
10 x 1 = 10
______________________________
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10
6 x 2 = 12
7 x 2 = 14
8 x 2 = 16
9 x 2 = 18
10 x 2 = 20
______________________________
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
4 x 3 = 12
5 x 3 = 15
6 x 3 = 18
7 x 3 = 21
8 x 3 = 24
9 x 3 = 27
10 x 3 = 30
______________________________
>>>

Vous en savez assez pour étudier vous-même son fonctionnement !

N’hésitez pas à utiliser le bac sable !

  • Remarque

J’aurais aimé (mais ce ne fût pas le cas) devoir répondre à une question concernant la boite variable i présente dans les deux procédures, avec des valeurs différentes… et embrayer sur le caractère local des variables : les deux variables i sont différentes, chaque procédure à la sienne…

Votre commentaire

Pas de compte à créer. Votre adresse ne sera ni publiée, ni transmise : elle ne sert qu’à vous prévenir si je vous réponds.

Le premier message d’un nouveau visiteur attend ma relecture avant d’apparaître ; les suivants sont publiés aussitôt.