[英]Generator for Pascals triangle
我在列表中制作了帕斯卡三角形值的生成器
import math
def combination(n, r):
t = int((math.factorial(n)) / ((math.factorial(r)) * math.factorial(n - r)))
return t
def pascal_triangle():
"""Return numbers from pascal triangle"""
count = 0
while count>=0:
for element in range(count + 1):
t =combination(count, element)
yield t
count += 1
lst= [next(pascal_triangle()) for _ in range(10)]
print(lst)
结果只是 1 的列表,但应该是 1 1 1 2 1 1 3 3 1 .....我哪里错了?
对于列表理解中的每个元素, pascal_triangle
都被重新调用,从头开始。 你想要的是:
pt = pascal_triangle()
lst= [next(pt) for _ in range(10)]
print(lst)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.