杨辉三角实现方法(Python)
一、杨辉三角是什么?
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。
杨辉三角的性质:
1.每行首位数字都是1
2.每行中间的各项数字都是它肩上两个数字的和
3.第n行的数字有n个
4.第n行的项数总比第n-1行多一个
二、杨辉三角解法
1.二维数组:
代码如下(示例):
a = int(input())
list1 = [1]
for i in range(a):
# 只有 1 行或者 2行
if i == 0:
print(list1)
elif i == 1:
list1.append(1)
print(list1)
else: # 3行以上
list2 = []
for j in range(i+1):
if j == 0:
list2.append(1)
elif j == i:
list2.append(1)
else:
list2.append(list1[j]+list1[j-1])
list1 = list2
print(list1)
运行结果:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
2.定义法:
先给出一个空列表,通过循环先进行追加列表,在对列表进行修改
代码如下(示例):
n = eval(input())
triangle = []
for i in range(n):
cur = [1]
triangle.append(cur)
if i == 0:
continue
pre = triangle[i-1]
for j in range(i-1):
cur.append(pre[j] + pre[j+1])
cur.append(1)
print(triangle)
运行结果:
5
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]
进程已结束,退出代码0