1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
T0 = [8, 7, 6, 5, 4, 3, 2, 1]
T1 = [ ]
T2 = [ ]
T = [T0, T1, T2]
def deplacer(T, a, c):
sommet_a = 0
sommet_c = 0
if len(T[a]) > 0:
sommet_a = T[a][len(T[a]) - 1]
if len(T[c]) > 0:
sommet_c = T[c][len(T[c]) - 1]
if sommet_a > sommet_c and sommet_c != 0:
print("Déplacement impossible car Disque départ",sommet_a, "> Disque arrivée",sommet_c)
else:
T[a].pop(len(T[a]) - 1)
T[c].append(sommet_a)
print(T); print()
def hanoi(n, a=0, b=1, c=2):
if n > 0:
hanoi(n-1, a, c, b)
deplacer(T,a,c)
hanoi(n-1, b, a, c)
hanoi(8) |