Using Python to implement the Hanoi. With a graphical demo
Copy Code code as follows:
From time import sleep
def disp_sym (num, sym):
Print (Sym*num, end= ')
#recusion
Def Hanoi (A, B, C, N, Tray_num):
if n = 1:
Move_tray (A, c)
Disp (Tray_num)
Sleep (0.7)
Else
Hanoi (A, C, B, n-1, Tray_num)
Move_tray (A, c)
Disp (Tray_num)
Sleep (0.7)
Hanoi (b, A, C, n-1, Tray_num)
Def Move_tray (A, B):
For I in A:
If I!= 0:
For J in B:
If J!= 0:
B[b.index (j)-1] = I
A[a.index (i)] = 0
Return
B.append (i)
B.pop (0)
A[a.index (i)] = 0
Return
Def disp (Tray_num):
Global A, B, c
For I in Range (Tray_num):
For j in [' A ', ' B ', ' C ']:
Disp_sym (5, "")
Eval (' Disp_sym (Tray_num-' + j + "[i], ')")
Eval (' Disp_sym (' + j + ' [i], ' = ') ")
Disp_sym (1, ' | ')
Eval (' Disp_sym (' + j + ' [i], ' = ') ")
Eval (' Disp_sym (Tray_num-' + j + "[i], ')")
Print ()
Print ('---------------------------------------------------------------------------')
Tray_num=int (Input ("Please input the number of trays:"))
Tray=[]
For I in Range (Tray_num):
Tray.append (i + 1)
A=[0]*tray_num
b=a[:]
c=a[:]
A = tray[:]
Disp (Tray_num)
Hanoi (A, B, C, Tray_num, Tray_num)