sciences numériques et technologie (seconde) · Chapitre 6 · Exercice de TD
Minimum, maximum et étendue
Listes et simulations aléatoires · Manipuler une liste · niveau 2
Énoncé
Sans utiliser min ni max :
- Écrire
minimum(L)etmaximum(L). - En déduire
etendue(L). - Tester sur
[12, 8, 15, 10, 17]puis sur[-3, -9, -1]. - Pourquoi ne faut-il pas initialiser le minimum à ?
Corrigé
1. et 2.
def minimum(L):
m = L[0]
for x in L:
if x < m:
m = x
return m
def maximum(L):
m = L[0]
for x in L:
if x > m:
m = x
return m
def etendue(L):
return maximum(L) - minimum(L)
3.
print(minimum([12, 8, 15, 10, 17]), maximum([12, 8, 15, 10, 17])) # 8 17
print(etendue([12, 8, 15, 10, 17])) # 9
print(minimum([-3, -9, -1]), etendue([-3, -9, -1])) # -9 8
4. Avec m = 0, la fonction renverrait pour la liste [-3, -9, -1] — une valeur qui n'est même pas dans la liste. Le défaut ne se voit pas sur des notes, toutes positives : il n'apparaît qu'avec des températures, des altitudes ou des soldes.
Initialiser avec L[0] est le seul choix sûr, parce que la valeur de départ appartient alors aux données. En contrepartie, la fonction échoue sur une liste vide — ce qui est préférable à un résultat faux, mais mérite d'être traité explicitement.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 14 autres exercices corrigés dans ce chapitre, et 23 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.