python 實現楊輝三角

wKioL1aMzoSj4SDOAAC2V3ttE4U703.jpg

# -*- coding:utf-8 -*-

def triangles():

#i = 1 

j = 0

L1 = []

L2 = []

S1 = 0

while j < 10:

s = 0

for i in L1:                              

S1 = s + i                       

s = i                  #記錄上個循環i的值

L2.append(S1)          

L2.append(1)

yield L2                      #生成器 返回L2 list 列表的值

L1 = L2[:]                    #將L1指向L2 變成上一次循環的list

L2 = []                       #L2保存的是當次循環的list 初始化她

j = j + 1

n = 0

for x in triangles():

print x

n = n + 1

if n == 10:

break


函數是順序執行,遇到return語句或者最後一行函數語句就返回。而變成generator的函數,在每次調用next()的時候執行,遇到yield語句返回,再次執行時從上次返回的yield語句處繼續執行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章