杨辉三角python语言程序思路_python杨辉三角方法的实例介绍
程序輸出需要實現(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
實現(xiàn)邏輯:
1.由于yield為生成器中斷輸出,所以有了第一個次輸出為[1]
2.繼續(xù)while下面的yield后的循環(huán),此時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(有上面結(jié)果可知),所以輸出結(jié)果為[1,2,1]
4.由第三條可知此時len(L)值為3,代入得出[L[i]+L[i+1] for i in range(2)],i取值為0和1,通過循環(huán)輸出有兩個值,均為3,分別由[L[0]+L[1]],[L[1]+L[2]]
總結(jié)
以上是生活随笔為你收集整理的杨辉三角python语言程序思路_python杨辉三角方法的实例介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帆软报表等于空的时候不显示_查询结果为空
- 下一篇: feature map 意义_Featu