最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python實現(xiàn)遞歸版漢諾塔示例(漢諾塔遞歸算法)

 更新時間:2014年04月08日 11:11:56   作者:  
這篇文章主要介紹了使用python實現(xiàn)遞歸版漢諾塔示例(漢諾塔遞歸算法),需要的朋友可以參考下

利用python實現(xiàn)的漢諾塔。帶有圖形演示

復制代碼 代碼如下:

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)

相關文章

  • Python ORM框架Peewee用法詳解

    Python ORM框架Peewee用法詳解

    這篇文章主要介紹了Python ORM框架Peewee用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Python 處理帶有 \u 的字符串操作

    Python 處理帶有 \u 的字符串操作

    這篇文章主要介紹了Python 處理帶有 \u 的字符串操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python TK庫簡單應用(實時顯示子進程輸出)

    python TK庫簡單應用(實時顯示子進程輸出)

    這篇文章主要介紹了python TK庫簡單應用(實時顯示子進程輸出),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • 在Lighttpd服務器中運行Django應用的方法

    在Lighttpd服務器中運行Django應用的方法

    這篇文章主要介紹了在Lighttpd服務器中運行Django應用的方法,本文所采用的是最流行的FastCGI模塊,包括同時運行多個Django應用的方法,需要的朋友可以參考下
    2015-07-07
  • PyCharm插件開發(fā)實踐之PyGetterAndSetter詳解

    PyCharm插件開發(fā)實踐之PyGetterAndSetter詳解

    這篇文章主要介紹了PyCharm插件開發(fā)實踐-PyGetterAndSetter,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 七個Python必備的GUI庫

    七個Python必備的GUI庫

    這篇文章主要介紹了七個Python必備的GUI庫,幫助大家更好的理解和學習使用python制作gui程序,感興趣的朋友可以了解下
    2021-04-04
  • Python多線程和隊列操作實例

    Python多線程和隊列操作實例

    這篇文章主要介紹了Python多線程和隊列操作實例,本文直接給給實例代碼,需要的朋友可以參考下
    2015-06-06
  • python移位運算的實現(xiàn)

    python移位運算的實現(xiàn)

    這篇文章主要介紹了python移位運算的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python實現(xiàn)微信機器人: 登錄微信、消息接收、自動回復功能

    python實現(xiàn)微信機器人: 登錄微信、消息接收、自動回復功能

    這篇文章主要介紹了python實現(xiàn)微信機器人: 登錄微信、消息接收、自動回復功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Python?Pendulum進行日期時間處理的示例詳解

    Python?Pendulum進行日期時間處理的示例詳解

    Pendulum?是對?Python?datetime?的繼承和發(fā)展,讓日期時間處理更簡單,這篇文章主要為大家詳細介紹了Pendulum的具體應用,需要的可以參考下
    2025-02-02

最新評論

石屏县| 济宁市| 永清县| 旌德县| 长垣县| 朔州市| 太白县| 理塘县| 文昌市| 连平县| 元江| 罗源县| 蒙阴县| 沾化县| 元江| 冷水江市| 炎陵县| 临海市| 唐山市| 都江堰市| 临江市| 柯坪县| 平邑县| 昭平县| 麻阳| 星子县| 江油市| 琼结县| 县级市| 东辽县| 公主岭市| 堆龙德庆县| 邻水| 公主岭市| 浦江县| 新源县| 茌平县| 棋牌| 松原市| 博白县| 克东县|