T our  H anoi


Consigne


Faire une fonction permettant de résoudre le problème des tours d’hanoi peu importe le nombre d'entrées dans la fonction.


Rappel


Le problème des tours de hanoi est le suivant, on souhaite déplacer un certain nombre de disque de taille différente et ils sont et doivent restés empilés de telle sorte qu’aucun disque d’une certaine taille n soit placé en dessous d’un disque de taille plus grande en sachant qu’il n’y a que 3 piles.


Exemple


Entrée :3,"A","B","C"

Sortie : [['A','C'],['A','B'],['C','B'],['A','C'],['B','A'],['B','C'],['A','C']]

Aide


Une fonction récursive est une fonction qui fait appelle à elle même

def hanoi(nb_disks,start, middle, end): l=[] hanoi_rec(l,nb_disks,start, middle, end) return l def hanoi_rec(l,nb_disks, start, middle, end): if nb_disks == 1: return l.append([start,end]) else: hanoi_rec(l,nb_disks - 1, start, end, middle) l.append([start,end]) hanoi_rec(l,nb_disks - 1, middle, start, end)
Run Submit