This commit is contained in:
Tipragot 2023-10-18 10:58:00 +02:00
parent b4abb80fe5
commit 53dfb79662
No known key found for this signature in database

View file

@ -153,15 +153,14 @@ hanoi(4, [4, 3, 2, 1], [], [])
def better_hanoi(k, source, aide, but, aff=None): def better_hanoi(k, source, aide, but, aff=None):
if aff is None: # Si il n'y a pas encore d'affichage pour l'état des piles if aff is None: # Si il n'y a pas encore d'affichage pour l'état des piles
aff = (source, aide, but) # On l'initialise aff = (source, aide, but) # On initialise
print(aff[0], aff[1], aff[2]) # On l'affiche if k == 0: # Si il n'y a plus rien à déplacer
if k == 0: return # Si il n'y a plus rien a déplacer on retourne
better_hanoi(k-1, source, but, aide, aff) # On déplace la pile source vers l'aide sauf le plus grand
print(aff[0], aff[1], aff[2]) # On affiche l'état de nos piles print(aff[0], aff[1], aff[2]) # On affiche l'état de nos piles
return # On retourne
better_hanoi(k-1, source, but, aide, aff) # On déplace la pile source vers l'aide sauf le plus grand
but.append(source.pop()) # On déplace le plus grand vers la pile but but.append(source.pop()) # On déplace le plus grand vers la pile but
better_hanoi(k-1, aide, source, but, aff) # On répète l'opération avec aide qui devient la nouvelle source better_hanoi(k-1, aide, source, but, aff) # On répète l'opération avec aide qui devient la nouvelle source
better_hanoi(4, [4, 3, 2, 1], [], []) better_hanoi(4, [4, 3, 2, 1], [], [])
# Il faut faire du code simple sans utiliser goto, setjmp ou longjmp et ne pas utiliser de récursion directe ou indirecte. # Il faut faire du code simple sans utiliser goto, setjmp ou longjmp et ne pas utiliser de récursion directe ou indirecte.