Les soldes
Dans un magasin, un vendeur colle une étiquette « moins 10 % » sur dix articles. Le lendemain, il colle « moins 20 % » sur les mêmes.
Le geste est le même : parcourir les articles. Seule la remise change.
On peut écrire le parcours une seule fois, et lui donner la remise à appliquer.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Fonction | Un petit programme qui a un nom. Voir la leçon « Les fonctions ». | double |
| Paramètre | Un nom entre parenthèses qui reçoit une valeur. | fonction |
| Appel | Utiliser une fonction avec des parenthèses. | double(5) |
| Nouvelle liste | Une liste fabriquée par la fonction, sans toucher à la liste de départ. | resultat = [] |
| Remise | Une baisse de prix. | moins 10 pour cent |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une fonction est une valeur
En Python, une fonction est une valeur comme une autre. Tu peux la ranger dans une variable.
Tu peux aussi la donner à une autre fonction, comme tu donnes un nombre.
Écris le nom sans parenthèses : on parle de la fonction. Avec parenthèses, on l’appelle.
À toi : la fonction comme valeur
def double(nombre):
return nombre * 2
# Sans parenthèses, on parle de la fonction elle-même.
print(double)
# Avec parenthèses, on l'appelle.
print(double(5))
# On peut ranger la fonction dans une autre variable.
multiplier = double
print(multiplier(8))
# Ajoute une fonction triple et appelle-la aussi.
Exemple travaillé : avec ou sans parenthèses
| On écrit | Ce que c’est | Résultat |
|---|---|---|
| double | la fonction elle-même | un objet fonction |
| double(5) | un appel avec 5 | 10 |
| multiplier = double | un deuxième nom pour la fonction | rien à l’écran |
| multiplier(8) | un appel par le deuxième nom | 16 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Contrôle rapide
À toi de jouer
Contrôle rapide
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
Appliquer à une liste
Voici la fonction appliquer. Elle reçoit une fonction et une liste.
Elle parcourt la liste avec for. Pour chaque élément, elle appelle la fonction reçue. Elle range le résultat dans une nouvelle liste.
Elle rend cette nouvelle liste. L’ancienne reste intacte.
À toi : appliquer une fonction
def double(nombre):
return nombre * 2
def carre(nombre):
return nombre * nombre
def appliquer(fonction, liste):
# Rend une nouvelle liste : la fonction appliquée à chaque élément.
resultat = []
for element in liste:
resultat.append(fonction(element))
return resultat
notes = [3, 5, 8]
print(appliquer(double, notes))
print(appliquer(carre, notes))
print(notes)
# Essaie avec la fonction len sur ["bus", "tram", "metro"].
Exemple travaillé : appliquer(double, [3, 5, 8])
| Tour | element | fonction(element) | resultat après le tour |
|---|---|---|---|
| départ | - | - | [] |
| 1 | 3 | 6 | [6] |
| 2 | 5 | 10 | [6, 10] |
| 3 | 8 | 16 | [6, 10, 16] |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.