时间:2021-05-22
程序输出需要实现如下效果:
[1]
[1,1]
[1,2,1]
[1,3,3,1]
......
方法:迭代,生成器
def triangles()L = [1]while True:yiled LL =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1]n = 0for t in triangles():print(t)n += 1if 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]]
以此类推即可
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#中杨辉三角的实现问题描述:创建一个程序来求三角形。该程序提示用户输入数据,然后显示出杨辉三角的规律。//输入描述:杨辉三角长,代表数值//程序输出:杨辉三角
本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下:♥前言对于杨辉三角是什么的问题,请参考百度百科的详细解释:杨辉三角杨辉三
用Python写趣味程序感觉屌屌的,停不下来#生成器生成展示杨辉三角#原理是在一个2维数组里展示杨辉三角,空的地方用0,输出时,转化为''defyang(lin
杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。把每一行看做一个list,写一个generator,不断输出下一行的list实现下
本文实例讲述了C语言实现杨辉三角的方法,分享给大家供大家参考。具体实现方法如下:#includeusingnamespacestd;voidprintYangH