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

Python解決N階臺(tái)階走法問題的方法分析

 更新時(shí)間:2017年12月28日 10:52:43   作者:afanty_mo  
這篇文章主要介紹了Python解決N階臺(tái)階走法問題的方法,簡單描述了走臺(tái)階問題,并結(jié)合實(shí)例形式分析了Python使用遞歸與遞推算法解決走臺(tái)階問題的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python解決N階臺(tái)階走法問題的方法。分享給大家供大家參考,具體如下:

題目:一棟樓有N階樓梯,兔子每次可以跳1、2或3階,問一共有多少種走法?

Afanty的分析:

遇到這種求規(guī)律的問題,自己動(dòng)動(dòng)手推推就好,1階有幾種走法?2階有幾種走法?3階有幾種走法?4階有幾種走法?5階有幾種走法?

對(duì)吧,規(guī)律出來了!

易錯(cuò)點(diǎn):這不是組合問題,因?yàn)榈?次走1階、第2次走2階不同于 第1次走2階、第2次走1階

下面是Python的遞歸實(shí)現(xiàn)代碼:

def allMethods(stairs):
  '''''
  :param stairs:the numbers of stair
  :return:
  '''
  if isinstance(stairs,int) and stairs > 0:
    basic_num = {1:1,2:2,3:4}
    if stairs in basic_num.keys():
      return basic_num[stairs]
    else:
      return allMethods(stairs-1) + allMethods(stairs-2) + allMethods(stairs-3)
  else:
    print 'the num of stair is wrong'
    return False

當(dāng)然也可以用非遞歸的方法來實(shí)現(xiàn),下面就是基于遞推法的代碼:

def allMethod(stairs):
  '''''遞推實(shí)現(xiàn)
  :param stairs: the amount of stair
  :return:
  '''
  if isinstance(stairs,int) and stairs > 0:
    h1,h2,h3,n = 1,2,4,4
    basic_num = {1:1,2:2,3:4}
    if stairs in basic_num.keys():
      return basic_num[stairs]
    else:
      while n <= stairs:
        temp = h1
        h1 = h2
        h2 = h3
        h3 = temp + h1 + h2
      return h3
  else:
    print 'the num of stair is wrong'
    return False

好的,以上就是分別用了遞歸和遞推法實(shí)現(xiàn)的過程。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:

相關(guān)文章

  • python在windows命令行下輸出彩色文字的方法

    python在windows命令行下輸出彩色文字的方法

    這篇文章主要介紹了python在windows命令行下輸出彩色文字的方法,涉及Python文字特效操作技巧,需要的朋友可以參考下
    2015-03-03
  • python實(shí)現(xiàn)統(tǒng)計(jì)代碼行數(shù)的方法

    python實(shí)現(xiàn)統(tǒng)計(jì)代碼行數(shù)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)統(tǒng)計(jì)代碼行數(shù)的方法,涉及Python中os模塊及codecs模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn)

    python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn)

    這篇文章主要介紹了python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 用Python判斷奇偶數(shù)示例

    用Python判斷奇偶數(shù)示例

    大家好,本篇文章主要講的是用Python判斷奇偶數(shù)示例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Python3+OpenCV2實(shí)現(xiàn)圖像的幾何變換(平移、鏡像、縮放、旋轉(zhuǎn)、仿射)

    Python3+OpenCV2實(shí)現(xiàn)圖像的幾何變換(平移、鏡像、縮放、旋轉(zhuǎn)、仿射)

    這篇文章主要介紹了Python3+OpenCV2實(shí)現(xiàn)圖像的幾何變換(平移、鏡像、縮放、旋轉(zhuǎn)、仿射),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 利用PyCharm操作Github(倉庫新建、更新,代碼回滾)

    利用PyCharm操作Github(倉庫新建、更新,代碼回滾)

    這篇文章主要介紹了利用PyCharm操作Github(倉庫新建、更新,代碼回滾),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python垃圾回收及Linux?Fork

    Python垃圾回收及Linux?Fork

    這篇文章主要介紹了Python垃圾回收及Linux?Forkm,Python垃圾回收主要以引用計(jì)數(shù)為主,分代回收為輔,而一個(gè)進(jìn)程調(diào)用fork()函數(shù)后,系統(tǒng)先給新的進(jìn)程分配資源,例如存儲(chǔ)數(shù)據(jù)和代碼的空間,下面來看文章具體介紹吧
    2022-01-01
  • Python 詳解通過Scrapy框架實(shí)現(xiàn)爬取百度新冠疫情數(shù)據(jù)流程

    Python 詳解通過Scrapy框架實(shí)現(xiàn)爬取百度新冠疫情數(shù)據(jù)流程

    Scrapy是用純Python實(shí)現(xiàn)一個(gè)為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個(gè)模塊就可以輕松的實(shí)現(xiàn)一個(gè)爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便
    2021-11-11
  • 淺析python中numpy包中的argsort函數(shù)的使用

    淺析python中numpy包中的argsort函數(shù)的使用

    這篇文章主要介紹了python中numpy包中的argsort函數(shù)的使用,argsort()函數(shù)在模塊numpy.core.fromnumeric中,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2018-08-08
  • 深入理解NumPy簡明教程---數(shù)組3(組合)

    深入理解NumPy簡明教程---數(shù)組3(組合)

    本篇文章對(duì)NumPy數(shù)組進(jìn)行較深入的探討。首先介紹自定義類型的數(shù)組,接著數(shù)組的組合,最后介紹數(shù)組復(fù)制方面的問題,有興趣的可以了解一下。
    2016-12-12

最新評(píng)論

黑河市| 宝鸡市| 绥德县| 江川县| 沙河市| 额济纳旗| 海丰县| 昆明市| 拉萨市| 湾仔区| 太湖县| 萝北县| 文水县| 天峻县| 米泉市| 晋城| 拉孜县| 华坪县| 东兴市| 张家界市| 安陆市| 高安市| 新民市| 永寿县| 桦南县| 贵定县| 东港市| 娄底市| 广平县| 兴国县| 华池县| 沙坪坝区| 肃南| 皋兰县| 红桥区| 太仓市| 桃江县| 三江| 遵义县| 巩留县| 松桃|