首頁  >  文章  >  後端開發  >  python 楊輝三角方法的實例介紹

python 楊輝三角方法的實例介紹

零下一度
零下一度原創
2017-07-27 09:26:022311瀏覽

程式輸出需要實作以下效果:

[1]
[1,1]
[1,2,1]
[1,3,3,1]

......

方法:迭代,產生器

def triangles()
    L = [1]
    while True:
        yiled L
        L =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1]
n = 0
for t in triangles():
    print(t)
    n += 1
    if n == 10:
        break

實作邏輯:

#    1.由於yield為生成器中斷輸出,所以有了第一個次輸出為[1]

    2.繼續while下面的yield後的循環,此時list長度為1,將其代入L中的len(L),得出[L[i]+L[i+1] for i in range(1-1)]得出為空值,所以yield L輸出為[1,1]

    3.此時len(L)值為2,代入得[L[i]+L[i+1] for i in range(2-1)]為[L[i]+L[ i+1] for i in range(1)],i能取值為0,代入後為[L[0]+L[1]],而L[0]和L[1]的值均為1 (上面結果可知),所以輸出結果為[1,2,1]

    4.由第三條可知此時len(L)值為3,代入得出[L[i]+ L[i+1] for i in range(2)],i取值為0和1,經由循環輸出有兩個值,皆為3,分別由[L[0]+L[1]],[ L[1]+L[2]]

以上是python 楊輝三角方法的實例介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn