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]