1. 函数方式
def main(n):
if not (isinstance(n, int) and n > 0):
raise TypeError ('Please throw me a positive integer')
counter = 0
p = [1]
while True:
print(p)
counter += 1
if counter == n:
break
p = [1] + [p[ele] + p[ele + 1] for ele in range(len(p) - 1)] + [1]
2. 生成器方式 (含位置参数,将上方的函数方式中的print语句改为yield即可。)
def main(n):
if not (isinstance(n, int) and n > 0):
raise TypeError ('Please throw me a positive integer')
counter = 0
p = [1]
while True:
yield p
counter += 1
if counter == n:
break
p = [1] + [p[ele] + p[ele + 1] for ele in range(len(p) - 1)] + [1]
3. 生成器方式(不含位置参数,每次执行next命令就生成下一行。)
def main():
p = [1]
while True:
yield p
p = [1] + [p[ele] + p[ele + 1] for ele in range(len(p)-1)] + [1]