Skip to content

Incrémente

Énoncé

Implémenter la fonction suivante de façon récursive :

1
2
def incremente(number, increment):
    """Renvoie number + increment."""

Cette fonction doit renvoyer la somme de number et de increment en supposant qu'on sait uniquement faire les opérations X+1 et X-1.

Correction

Cliquez ici pour révéler la correction.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python3
"""Une première fonction récursive."""

def incremente(number, increment):
    """Renvoie number + increment."""

    # Cas de base
    if increment == 0:
        return number

    # cas général
    return 1 + incremente(number, increment - 1)

def teste():
    """Teste la fonction ci-dessus."""
    print("incremente(0, 0) =", incremente(0, 0))
    print("incremente(42, 0) =", incremente(42, 0))
    print("incremente(0, 42) =", incremente(0, 42))
    print("incremente(42, 42) =", incremente(42, 42))
    print("incremente(-42, 42) =", incremente(-42, 42))

if __name__ == "__main__":
    teste()