CODE PUZZLE

Fonctions récursives
Pour chaque fonction, écrire la documentation (“docstrings”) et un jeu d’au moins trois tests. \ **Fonction 1** Écrire une fonction récursive `somme_n(n)` qui renvoie la somme des entiers de `1` à `n`. \ **Fonction 2** Écrire une fonction récursive `longueur(tab)` qui renvoie la longueur de la liste `tab` sans utiliser `len()`. La fonction doit fonctionner même pour une liste vide. Rappel : soit `L` une liste, `L[1:]` sélectionne tous les éléments sauf le premier. \ **Fonction 3** Écrire une fonction récursive `somme_chiffres(n)` qui prend en paramètre un entier `n ≥ 0` et renvoie la somme de ses chiffres. Si `n < 10`, la fonction renvoie `n`. Exemple : `somme_chiffres(2037)` doit renvoyer `12`. Aide : pour séparer le dernier chiffre des autres chiffres, utiliser `n % 10` et `n // 10`. \ **Fonction 4** Écrire une fonction récursive `repeter(s, n)` qui renvoie la chaîne `s` répétée `n` fois, sans utiliser l’opérateur `*`. Pour `n = 0`, la fonction renvoie une chaîne vide `""`.
PORTÉE D'EXÉCUTION DU CODE : exécution par cellule (chaque cellule s'exécute indépendamment des autres)

        
PROGRAMME 1
console
Prêt!
PROGRAMME 2
console
Prêt!
PROGRAMME 3
console
Prêt!
PROGRAMME 4
console
Prêt!