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

用Python輸出一個楊輝三角的例子

 更新時間:2014年06月13日 10:24:45   投稿:junjie  
這篇文章主要介紹了用Python和erlang輸出一個楊輝三角的例子,同時還提供了一個erlang版楊輝三角,需要的朋友可以參考下

關于楊輝三角是什么東西,右轉維基百科:楊輝三角

稍微看一下直觀一點的圖:

復制代碼 代碼如下:

       ?。?BR>       1?。?BR>     ?。薄。病。?BR>    ?。薄。场。场。?BR>   ?。薄。础。丁。础。?BR>  ?。薄。怠?0 10?。怠。?BR> ?。薄。丁?5 20 15?。丁。?BR>?。薄。贰?1 35 35 21?。贰。?BR>1?。浮?8 56 70 56 28?。浮。?/div>


楊輝三角有以下幾個特點:

每一項的值等于他左上角的數(shù)和右上角的數(shù)的和,如果左上角或者右上角沒有數(shù)字,就按0計算。
第N層項數(shù)總比N-1層多1個

計算第N層的楊輝三角,必須知道N-1層的數(shù)字,然后將相鄰2項的數(shù)字相加,就能得到下一層除了最邊上2個1的所有數(shù)字。 聽起來有點像遞歸的思想,我們不妨假設我們已經(jīng)知道N-1層的數(shù)字,來計算一下N層的數(shù)字吧。

復制代碼 代碼如下:

def _yanghui_trangle(n, result):
    if n == 1:
        return [1]
    else:
        return [sum(i) for i in zip([0] + result, result + [0])]

上面代碼中,result表示N-1層楊輝三角的數(shù)字。實習上,我們在列表2端各補了一個0,然后計算相鄰項的和,就可以直接得到結果。

稍微完善一下代碼:

復制代碼 代碼如下:

def yanghui_trangle(n):
    def _yanghui_trangle(n, result):
        if n == 1:
            return [1]
        else:
            return [sum(i) for i in zip([0] + result, result + [0])]
    pre_result = []
    for i in xrange(n):
        pre_result = _yanghui_trangle(i + 1, pre_result)
        yield pre_result

if __name__ == "__main__":
    for line in yanghui_trangle1(5):
        print line


_yanghui_trangle可以用lambda的方式簡寫,但是可讀性感覺會變差,所以還是保持現(xiàn)狀好了。

tips: 上面的程序并沒有考慮數(shù)據(jù)格式化的問題,也就是說輸出不是完美的三角形。

鑒于最近在學習erlang,補上一個erlang版本的,性能上沒有測試過,不過還是要驚嘆于函數(shù)式語言的表達能力:

復制代碼 代碼如下:

-module(yanghui).
-author(lfyzjck).
-export([triangle/1]).

triangle_next(P) ->
    lists:zipwith(fun(X, Y) -> X+Y end, [0|P], P ++ [0]).

triangle(1) ->
    [[1]];
triangle(N) ->
    L = triangle(N - 1),
    [H|_] = L,
    [triangle_next(H)|L].

相關文章

  • Python logging模塊進行封裝實現(xiàn)原理解析

    Python logging模塊進行封裝實現(xiàn)原理解析

    這篇文章主要介紹了Python logging模塊進行封裝實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 如何運行Python程序的方法

    如何運行Python程序的方法

    以下均基于windows下操作,并且安裝的是最新的python3.3版本。
    2013-04-04
  • 關于matplotlib-legend 位置屬性 loc 使用說明

    關于matplotlib-legend 位置屬性 loc 使用說明

    這篇文章主要介紹了關于matplotlib-legend 位置屬性 loc 使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python字符串格式化

    Python字符串格式化

    Python字符串格式化操作符(%)只適用于字符串類型,非常類似于C 語言里面的printf()函數(shù)的字符串格式化,甚至所用的符號都一樣,都用百分號(%),并且支持所有printf()式的格式化操作。
    2015-06-06
  • django如何設置csrf_token

    django如何設置csrf_token

    這篇文章主要介紹了django如何設置csrf_token問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python爬取個性簽名的方法

    python爬取個性簽名的方法

    這篇文章主要為大家詳細介紹了python爬取個性簽名的方法,具有一定的參考價值,感興趣的朋友可以參考一下
    2018-06-06
  • selenium+python實現(xiàn)1688網(wǎng)站驗證碼圖片的截取功能

    selenium+python實現(xiàn)1688網(wǎng)站驗證碼圖片的截取功能

    這篇文章主要介紹了selenium+python實現(xiàn)1688網(wǎng)站驗證碼圖片的截取,需要的朋友可以參考下
    2018-08-08
  • Python數(shù)據(jù)結構之優(yōu)先級隊列queue用法詳解

    Python數(shù)據(jù)結構之優(yōu)先級隊列queue用法詳解

    queue庫提供了一個適用于多線程編程的先進先出(FIFO)數(shù)據(jù)結構,可以用來在生產(chǎn)者與消費者線程之間安全地傳遞消息或其他數(shù)據(jù),它會為調(diào)用者處理鎖定,使多個線程可以安全而更容易地處理同一個Queue實例.Queue的大小可能受限,以限制內(nèi)存使用或處理,需要的朋友可以參考下
    2021-05-05
  • python實現(xiàn)階乘的三種方法

    python實現(xiàn)階乘的三種方法

    階乘是基斯頓·卡曼于 1808 年發(fā)明的運算符號,是數(shù)學術語,一個正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,本文給大家介紹了python實現(xiàn)階乘的三種方法,通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • python實現(xiàn)貝葉斯推斷的例子

    python實現(xiàn)貝葉斯推斷的例子

    本文介紹一個貝葉斯推斷的python實現(xiàn),并展現(xiàn)了基于標量運算的實現(xiàn)和基于numpy的矩陣運算的實現(xiàn)之間的差別,感興趣的可以了解一下
    2021-09-09

最新評論

泰顺县| 绥江县| 永城市| 吕梁市| 曲麻莱县| 建宁县| 湟源县| 三穗县| 盐池县| 庐江县| 高淳县| 西盟| 新宾| 平远县| 凤翔县| 达尔| 阿巴嘎旗| 宁国市| 九江县| 乐陵市| 大同市| 那曲县| 南皮县| 普兰店市| 宁武县| 桃江县| 庆城县| 中牟县| 普宁市| 新竹市| 探索| 禹城市| 同德县| 旺苍县| 砚山县| 印江| 乳源| 新丰县| 吉水县| 台北市| 蒙阴县|