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)
运行结果:
10
[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]
a = int(input())
list1 = [1]
for i in range(a):
print(list1)
list1.append(0)
list2 = list1
list1 = [list1[j]+list1[j-1] for j in range(i+2)]
这里涉及到列表推导式
列表推导式可以快速生成一个列表。语法格式如下:
列表推导式最终的目的是为了改造输入序列。for 后面的变量,表示输入序列里的元素;输出表达式,是产生最终列表的元素的计算公式;可选的判断表达式,可以对输入序列里的元素进行筛选。
例子:
list1 = [x*3 for x in range(1, 5)]
print(list1)
结果:
[3, 6, 9, 12]