Discuss / Python / 交作业

交作业

Topic source

Afternoon Tea

#1 Created at ... [Delete] [Delete and Lock User]

# 定义函数
def triangles():
L = [1] # 确保杨辉三角形的两端都是1
yield L
while True:
L = [v + w for v, w in zip([0] + L, L + [0])]
# 将对这两个列表进行打包处理,并返回一个新的迭代器
# 例如,如果列表L中有元素{a, b, c},那么结果将会生成以下序列:(0, a) (a, b) (b, c) (c, 0)
# v + w 就是将每个括号里的数值相加并返回
yield L

# 打印三角
# enumerate 的作用就是 返回索引-元素 每一次执行for语句执行一次生成器triangles,则索引+1
for i, row in enumerate(triangles()):
print(row)
if i >= 10:
break


  • 1

Reply