Adloun

Une fonction qui en appelle d'autres

Exercice de TD · niveau 2 · sciences numériques et technologie (seconde), chapitre 5 — Les fonctions · Fonctions à plusieurs arguments

Énoncé

  1. Écrire est_pair(n) renvoyant un booléen.
  2. Écrire somme_pairs(a, b) qui renvoie la somme des entiers pairs entre a et b inclus, en utilisant est_pair.
  3. Écrire moyenne_pairs(a, b) qui renvoie leur moyenne.
  4. Tester sur , .

Corrigé

def est_pair(n):
    return n % 2 == 0

def somme_pairs(a, b):
    total = 0
    for n in range(a, b + 1):
        if est_pair(n):
            total = total + n
    return total

def moyenne_pairs(a, b):
    total = 0
    combien = 0
    for n in range(a, b + 1):
        if est_pair(n):
            total = total + n
            combien = combien + 1
    return total / combien

print(somme_pairs(1, 10))     # 30
print(moyenne_pairs(1, 10))   # 6.0

Vérification : les pairs sont , de somme et de moyenne .

Deux remarques de méthode. D'abord, somme_pairs ne réécrit pas le test de parité : elle appelle est_pair. Le jour où la définition change, un seul endroit est à modifier. Ensuite, moyenne_pairs a besoin de deux accumulateurs — la somme et le compte. Diviser par b - a + 1 serait faux : ce serait le nombre d'entiers parcourus, pas celui des pairs retenus.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.