完成杨辉三角需要了解每一行形成的规律,及第二行起每一行都由其上一行两前元素相加得到。
首尾数字都是1,因此可以用列表来实现,定义出首元素为1,在末尾添加1即可。
示例代码如下图
n=eval(input("请输入要打印的行数:")) #定义需要从键盘录入的行数
triangle=[[1],[1,1]]#先将需要的triangle列表头和尾定义完成
for i in range(2,n):
pre=triangle[i-1]#上一行元素
cur=[1]#首行元素
for j in range(i-1):#计算每次的相加次数
cur.append(pre[j]+pre[j+1])#添加相加后的和
cur.append(1)#尾行添加最后一个元素
triangle.append(cur)#将cur列表添加到triangle列表中去
print("横行输出:{}".format(triangle))#横向输出检查是否完善
for i in range(n):#利用等腰三角形特性进行输出
s=" "*(n-i-1)
for j in triangle[i]:
s=s+str(j)+" "
print(s)