Au programme de ce chapitre
- I. Découper un programme en modules et en fonctions
- II. Écrire des tests avec assert
- III. Gérer les exceptions et mettre au point un programme
- Savoir-faire
- Exercices types corrigés
- Teste-toi — vrai ou faux ?
- Pièges fréquents et astuces
- À retenir
La définition à retenir
import), chacune ayant une responsabilité clairement définie. Une fonction bien conçue possède une spécification précise : ce qu'elle reçoit en paramètres, ce qu'elle renvoie, et les cas limites qu'elle doit gérer.Un exemple corrigé
python3 :
>>> def moyenne(notes):
... """Renvoie la moyenne arithmétique d'une liste de notes non vide.
...
... >>> moyenne([10, 12, 14])
... 12.0
... """
... if len(notes) == 0:
... raise ValueError("la liste de notes est vide")
... return sum(notes) / len(notes)
...
>>> def test_moyenne():
... assert moyenne([10, 12, 14]) == 12.0
... assert moyenne([20]) == 20.0
... assert abs(moyenne([8, 9, 13]) - 10.0) < 1e-9
... print("tous les tests sont passés")
...
>>> test_moyenne()
tous les tests sont passés
Le troisième test compare avec une tolérance (1e-9) plutôt qu'une égalité stricte, car les calculs flottants peuvent introduire de minuscules erreurs d'arrondi, comme vu en première.Les erreurs fréquentes à éviter
L'astuce du prof
>>> exécutables automatiquement par le module doctest, qui vérifie qu'ils produisent bien le résultat attendu.Exercices corrigés
Cherche d'abord seul, puis ouvre la correction.
Exercice 1
Voir la correction
Exercice 2
