Add comments

This commit is contained in:
Tipragot 2023-10-18 10:27:41 +02:00
parent 090e85a383
commit b4abb80fe5
No known key found for this signature in database

View file

@ -143,23 +143,23 @@ def expo_rapide(x, n):
print(expo_rapide(2, 10000))
def hanoi(k, source, aide, but):
if k == 0: return
hanoi(k-1, source, but, aide)
print(k, ":", source, "->", but)
but.append(source.pop())
hanoi(k-1, aide, source, but)
if k == 0: return # Si il n'y a plus rien a déplacer on retourne
hanoi(k-1, source, but, aide) # On déplace la pile source vers l'aide sauf le plus grand
print(k, ":", source, "->", but) # On affiche l'action réalisé
but.append(source.pop()) # On déplace le plus grand vers la pile but
hanoi(k-1, aide, source, but) # On répète l'opération avec aide qui devient la nouvelle source
hanoi(4, [4, 3, 2, 1], [], [])
def better_hanoi(k, source, aide, but, aff=None):
if aff is None:
aff = (source, aide, but)
print(aff[0], aff[1], aff[2])
if k == 0: return
better_hanoi(k-1, source, but, aide, aff)
print(aff[0], aff[1], aff[2])
but.append(source.pop())
better_hanoi(k-1, aide, source, but, aff)
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
print(aff[0], aff[1], aff[2]) # On l'affiche
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
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(4, [4, 3, 2, 1], [], [])