10 * 7 = 70
>>>
Bien, c'est, euh, exactement ce qu'on avait réussi à faire au chapitre précédent et l'intérêt ne saute pas encore aux yeux. L'avantage est que l'on peut appeler facilement la fonction et réafficher toute la table sans avoir besoin de tout réécrire !
Dans votre tête : Mais, si on saisit des paramètres pour pouvoir afficher la table de 5 ou de 8 ?
Oui, ce serait déjà bien plus utile. Je ne pense pas que vous ayez trop de mal à trouver le code de la fonction :
def table(nb):
i = 0
while i < 10: # Tant que i est strictement inférieure à 10,
print(i + 1, "*", nb, "=", (i + 1) * nb)
i += 1 # On incrémente i de 1 à chaque tour de boucle.
Et là, vous pouvez passer en argument différents nombres, table(8) pour afficher la table de multiplication par 8 par exemple.
On peut aussi envisager de passer en paramètre le nombre de valeurs à afficher dans la table.
def table(nb, max):
i = 0
while i < max: # Tant que i est strictement inférieure à la variable max,
print(i + 1, "*", nb, "=", (i + 1) * nb)
i += 1
Si vous tapez à présent table(11, 20), l'interpréteur vous affichera la table de 11, de 1*11 à 20*11. Magique non ?
Remarque : Dans le cas où l'on utilise plusieurs paramètres sans les nommer, comme ici, il faut respecter l'ordre d'appel des paramètres, cela va de soi. Si vous commencez à mettre le nombre d'affichages en premier paramètre alors que, dans la définition, c'était le second, vous risquez d'avoir quelques surprises. Il est possible d'appeler les paramètres dans le désordre mais il faut, dans ce cas, préciser leur nom: nous verrons cela plus tard.
Valeurs par défaut des paramètres
On peut également préciser une valeur par défaut pour les paramètres de la fonction. Vous pouvez par exemple indiquer que le nombre maximum d'affichages doit être de 10 par défaut (c'est-à-dire si l'utilisateur de votre fonction ne le précise pas). Cela se fait le plus simplement du monde :
def table(nb, max=10):
"""Fonction affichant la table de multiplication par nb
de 1*nb à max*nb
(max >= 0)"""
i = 0
while i < max:
print(i + 1, "*", nb, "=", (i + 1) * nb)
i += 1
Il suffit de rajouter =10 après max. À présent, vous pouvez appeler la fonction de deux façons : soit en précisant le numéro de la table et le nombre maximum d'affichages, soit en ne précisant que le numéro de la table (table(7)). Dans ce dernier cas, max vaudra 10 par défaut.
J'en ai profité pour ajouter quelques lignes d'explications que vous aurez sans doute remarquées. Nous avons placé une chaîne de caractères, sans la capturer dans une variable, juste en-dessous de la définition de la fonction. Cette chaîne est ce qu'on appelle une docstring que l'on pourrait traduire par une chaîne d'aide. Si vous tapez help(table), c'est ce message que vous verrez apparaître. Documenter vos fonctions est également une bonne habitude à prendre. Comme vous le voyez, on indente cette chaîne et on la met entre triple guillemets. Si la chaîne figure sur une seule ligne, on pourra mettre les trois guillemets fermants sur la même ligne ; sinon, on préférera sauter une ligne avant de fermer cette chaîne, pour des raisons de lisibilité. Tout le texte d'aide est indenté au même niveau que le code de la fonction.
YOU ARE READING
Programmer en Python
RandomVous ne connaissez rien à la programmation mais voulez coder en Python ? Vous êtes au bon endroit. Sans plus attendre, venez lire ce cours informatique. source : openclassroom
Les fonctions : à vous de jouer
Start from the beginning
