python實(shí)現(xiàn)楊輝三角思路
程序輸出需要實(shí)現(xiàn)如下效果:
[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
實(shí)現(xiàn)邏輯:
1.由于yield為生成器中斷輸出,所以有了第一個(gè)次輸出為[1]
2.繼續(xù)while下面的yield后的循環(huán),此時(shí)list長度為1,將其代入L中的len(L),得出[L[i]+L[i+1] for i in range(1-1)]得出為空值,所以yield L輸出為[1,1]
3.此時(shí)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(有上面結(jié)果可知),所以輸出結(jié)果為[1,2,1]
4.由第三條可知此時(shí)len(L)值為3,代入得出[L[i]+L[i+1] for i in range(2)],i取值為0和1,通過循環(huán)輸出有兩個(gè)值,均為3,分別由[L[0]+L[1]],[L[1]+L[2]]
以此類推即可
相關(guān)文章
使用Python實(shí)現(xiàn)將Word文檔轉(zhuǎn)換為PNG圖片
在這篇博客中,我將介紹一個(gè)使用Python編寫的小工具,它能夠?qū)⒅付ㄎ募A中的所有Word文檔轉(zhuǎn)換為PNG圖片,這個(gè)工具基于wxPython庫構(gòu)建圖形用戶界面,接下來,我將詳細(xì)說明這個(gè)工具的功能及其實(shí)現(xiàn),需要的朋友可以參考下2024-08-08opencv+圖像處理(Image Processing in OpenCV)
這篇文章主要介紹了opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng)
這篇文章主要介紹了Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Jupyter安裝鏈接aconda實(shí)現(xiàn)過程圖解
這篇文章主要介紹了Jupyter安裝鏈接aconda實(shí)現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11