用Python输出一个杨辉三角的例子
关于杨辉三角是什么东西,右转维基百科:杨辉三角
稍微看一下直观一点的图:
1 11 121 1331 14641 15101051 1615201561 172135352171 18285670562881
杨辉三角有以下几个特点:
每一项的值等于他左上角的数和右上角的数的和,如果左上角或者右上角没有数字,就按0计算。
第N层项数总比N-1层多1个
计算第N层的杨辉三角,必须知道N-1层的数字,然后将相邻2项的数字相加,就能得到下一层除了最边上2个1的所有数字。听起来有点像递归的思想,我们不妨假设我们已经知道N-1层的数字,来计算一下N层的数字吧。
def_yanghui_trangle(n,result):
ifn==1:
return[1]
else:
return[sum(i)foriinzip([0]+result,result+[0])]
上面代码中,result表示N-1层杨辉三角的数字。实习上,我们在列表2端各补了一个0,然后计算相邻项的和,就可以直接得到结果。
稍微完善一下代码:
defyanghui_trangle(n):
def_yanghui_trangle(n,result):
ifn==1:
return[1]
else:
return[sum(i)foriinzip([0]+result,result+[0])]
pre_result=[]
foriinxrange(n):
pre_result=_yanghui_trangle(i+1,pre_result)
yieldpre_result
if__name__=="__main__": forlineinyanghui_trangle1(5): printline
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下