1. 题目:输出杨辉三角
给定一个非负整数n,生成「杨辉三角」的前n行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。杨辉三角前九行如下图所示
输入样例:5
输出样例:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
2. 找出规律即可
3. 源代码
n = int(input())
res = []
if n==0: #n==0 打印[]
print(res)
elif n==1: #n==1 打印[[1]]
res = [[1]]
print(res)
else: #n>=2
res = [[1]] #第一行数据
for i in range(1, n): #得到n-1行后面的数据
temp = [1] #每行第一个为1
for j in range(i):
if j+1 == i: #每行最后一个为1
temp.append(1)
else: #中间数据为上一行数据i-1行第j与j+1列之和
temp.append(res[i-1][j]+res[i-1][j+1])
res.append(temp)
print(res)
4. 实验结果