把楊輝三角每一行看做一個list,試寫一個generator,不斷輸出下一行的list:


楊輝三角定義如下:

          1
        1   1
      1   2   1
    1   3   3   1
  1   4   6   4   1
1   5   10  10  5   1

生成楊輝三角的代碼如下所示:(L輸出的是楊輝三角中的一行組成的一個序列,而triangles函數輸出的是由不斷循環的許多L不斷更新所組成的很多序列---楊輝三角)
# -*- coding: utf-8 -*-
def triangles():
    L=[1]
    while True:
        yield L
        L.append(0)
        L = [L[i-1]+L[i] for i in range(len(L))]

其中:

L = [L[i-1]+L[i] for i in range(len(L))],這個代碼是L隨着i的取值變化生成一個序列,i的取值范圍決定了序列中元素的個數。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM