Écrire une fonction python récursive :
Entrée | Un entier naturel n. |
---|---|
Sortie | La liste des mots de longueur n écrits sur l'alphabet {0;1}. |
Exemple : la liste des mots de longueur 3 sur cet alphabet est ['000', '001', '010', '011', '100', '101', '110', '111'].
- définition récursive
- une solution
- Si n = 0, le seul mot est le mot vide.
- Dans les autres cas, on obtient les mots de longueur n en ajoutant à la fin des mots de longueur n-1 la lettre '0' ou la lettre '1'. (variante : on peut ajouter la nouvelle lettre au début !)
def motLongueur(n) :
if n == 0 : return ['']
else : return ['0' + mot for mot in motLongueur(n-1)] + ['1' + mot for mot in motLongueur(n-1)]
print(motLongueur(3))