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 `""`.