python輸出楊輝三角

楊輝三角定義
      1
    1   1
  1   2   1
1   3   3   1

今天學(xué)習(xí)到的一個python代碼實現(xiàn)非常簡潔
網(wǎng)址如下:
python 生成器
對于像我這樣python初學(xué)者非常推薦
代碼如下:

# -*- coding: utf-8 -*-  
def triangles():
       N = [1]
       while True:
           yield N
           N.append(0)
           N = [N[i]+N[i-1] for i in range(len(N))]

if __name__ == "__main__":
        n = 0
        for t in triangles():
        print(t)
        n = n + 1
        if n == 10:
            break

利用生成器(yield)使得每次調(diào)用的時候分配內(nèi)存避免開辟過大內(nèi)存,測試函數(shù)輸出10行。每次迭代利用在末尾加入的0來補位,這樣新的一行第i個數(shù)字就是上一行第i個數(shù)字加上第i-1個數(shù)字,若計算的是該行第一個數(shù)字,則不是一般性的為上一行第1個數(shù)字加上補位的0(python 中-1指list最后一個元素)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的,另外根據(jù)自己平時的積累進行修正...
    renyangfar閱讀 3,087評論 0 10
  • 從0到1:進步的未來 在彼得·蒂爾看來,進步分為兩種: 第一種叫水平進步,這是一種從1到n進步,用一個詞來概括便是...
    MrPositivity閱讀 168評論 0 0
  • 1 看到別人讀書就能用,一目十行。自己讀過書感覺就像沒讀過;別人的日子過的如詩如畫,自己的日子過的渾渾噩噩;...
    葭州寒雪閱讀 248評論 0 3
  • 我總是容易懷念舊時的風(fēng)景。 自從,百雞寺開始建酒店之后,就很少上去了。 之前,總是隔三差五的去爬山。 清晨起床之后...
    申小璐閱讀 353評論 0 0
  • 詩經(jīng)楚辭漢賦 唐詩宋詞元曲 明清小說 李白杜甫陶淵明孟浩然 莊子老子韓非子孔子孟子 浩蕩中華,文化璀璨,人才輩出,...
    徐一村閱讀 210評論 0 3