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)) print(expo_rapide(2, 10000))
def hanoi(k, source, aide, but): def hanoi(k, source, aide, but):
if k == 0: return if k == 0: return # Si il n'y a plus rien a déplacer on retourne
hanoi(k-1, source, but, aide) hanoi(k-1, source, but, aide) # On déplace la pile source vers l'aide sauf le plus grand
print(k, ":", source, "->", but) print(k, ":", source, "->", but) # On affiche l'action réalisé
but.append(source.pop()) but.append(source.pop()) # On déplace le plus grand vers la pile but
hanoi(k-1, aide, source, 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], [], []) 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: if aff is None: # Si il n'y a pas encore d'affichage pour l'état des piles
aff = (source, aide, but) aff = (source, aide, but) # On l'initialise
print(aff[0], aff[1], aff[2]) print(aff[0], aff[1], aff[2]) # On l'affiche
if k == 0: return if k == 0: return # Si il n'y a plus rien a déplacer on retourne
better_hanoi(k-1, source, but, aide, aff) 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]) print(aff[0], aff[1], aff[2]) # On affiche l'état de nos piles
but.append(source.pop()) but.append(source.pop()) # On déplace le plus grand vers la pile but
better_hanoi(k-1, aide, source, but, aff) 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], [], [])