1. 程式人生 > >漢諾塔搬運過程的python實現(原創

漢諾塔搬運過程的python實現(原創

法國數學家愛德華·盧卡斯曾編寫過一個印度的古老傳說:在世界中心貝拿勒斯的聖廟裡,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有一個僧侶在按照下面的法則移動這些金片:一次只移動一片,不管在哪根針上,小片必須在大片上面。在此用python實現整個漢諾塔的搬運過程。

def tower(num,start,end):
...     if num==1:
...             print('1->{}'.format(end))
...             return 0
...     l=['A','B','C']
...     l.remove(start)
...     l.remove(end)
...     tower(num-1,start,l[0])
...     print('{0}->{1}'.format(num,end))
...     tower(num-1,l[0],end)

執行結果如下: 在這裡插入圖片描述

整個過程是先將除最底層的金片不動,將上層所有金片移動至除始末位置之外的塔柱上。以此類推,用遞迴來實現。

本人python小白,還希望請各位高手多多指點。