题目背景:
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合 。
题目思路:
杨辉三角的性质:每个数字等于上一行的左右两个数字之和。即第n+1行的第i个数等于第n行的第j个数和第j+1个数之和。
题目要求:
输入一个数,打印指定的行数:
target = int(input("请输入你要写的杨辉三角行数"))
triangle = [[1], [1, 1]] # 定义前两行
for i in range(2, target): # 从第三行开始算
pre = triangle[i-1] # 等于上一行
cul = [1] # 定义每行第一个元素
for j in range(i-1): # 这一行除了头尾的1要有几个数
cul.append(pre[j]+pre[j+1]) # 算上一行j和j+1之和等于多少
cul.append(1)
triangle.append(cul)
print(target)
for x in range(target): # 定义前面的空格
s = " "*(target-x-1)
for y in triangle[x]: # 让y在列表里循环
s = s + str(y)+" " # 让s拼接成一行
print(s)