Bonjour,
Je souhaite écrire un programme permettant de générer tous les mots binaires à n caractères.
J'ai beaucoup de difficultés, j'ai l"impression que cela suppose forcément d'écrire n boucles imbriquées, ce qui est impossible quand on ne connait pas n à l'avance ?

J'ai écris le code dans le cas n=4
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def ListeMot():
    combinaisons=[]
    chemin=[]
    for k1 in range(2):
        chemin.append(k1)
        for k2 in range(2):
            chemin.append(k2)
            for k3 in range(2):
                chemin.append(k3)
                for k4 in range(2):
                    chemin.append(k4)
                    cheminFinal=chemin.copy()
                    combinaisons.append(cheminFinal)
                    chemin.pop()
                chemin.pop()
            chemin.pop()
        chemin.pop()
    return combinaisons
Comment est-ce que que je peux généraliser pour n quelconque ?
Je me dis qu'il faut peut-être utiliser la récursivité, mais je ne suis pas très à l'aise avec ça.
Pourriez vous m'aider ?