Adloun

Documenter et tester une fonction

Application directe du cours · niveau 1 (application) · NSI (terminale), chapitre 10 — Modularité, mise au point et tests

Énoncé

Documenter et tester une fonction.

Écrire une fonction somme_chiffres(n) qui renvoie la somme des chiffres d'un entier positif. La documenter (docstring + précondition) et proposer un jeu de tests avec assert.

Corrigé


def somme_chiffres(n):
    """Renvoie la somme des chiffres de l'entier n.

    Precondition : n est un entier >= 0.
    Renvoie : un entier, somme des chiffres de n.
    """
    assert n >= 0, "n doit etre positif ou nul"
    total = 0
    while n > 0:
        total += n % 10
        n = n // 10
    return total

# Jeu de tests
assert somme_chiffres(0) == 0        # cas limite
assert somme_chiffres(7) == 7        # un seul chiffre
assert somme_chiffres(123) == 6      # cas general
assert somme_chiffres(999) == 27     # cas maximal
print("Exercice 1 : tous les tests passent.")

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.