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

Wikipedia dixit :

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é à , 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*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(« …

im1

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 :

im2

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

im3

im4

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

  • 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…