You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
811 B

import random as r
def hanoi(nb_disks,start, middle, end):
l=[]
hanoi_rec(l,nb_disks,start, middle, end)
return l
def hanoiVerif(nb_disks,start, middle, end):
l=[]
hanoi_rec(l,nb_disks,start, middle, end)
return l
def hanoi_rec(l,nb_disks, start, middle, end):
if(nb_disks == 1):
return l.append([start,end])
else:
hanoi_rec(l,nb_disks - 1, start, end, middle)
l.append([start,end])
hanoi_rec(l,nb_disks - 1, middle, start, end)
def testhanoi(x):
if(hanoi(3,"A","B","C")!=[['A','C'],['A','B'],['C','B'],['A','C'],['B','A'],['B','C'],['A','C']]):
return False
for i in range(x):
j=r.randint(1,4)
if(hanoi(j,"Z","E","R")!=hanoiVerif(j,"Z","E","R")):
return False
return True
print(testhanoi(5))