"""比如,著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:
1, 1, 2, 3, 5, 8, 13, 21, 34, …"""
def fib(max):
a,b = 0,1
n = 0
while n <max:
n = a + b
a = b
b = n
yield n
f = fib(100)
print(f)
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
for i in f:
print(i)
# print(f.__next__())
# 生成器
a =[x*x for x in range(10)]
print(a)
a =(x*x for x in range(10))
print(a)
print(next(a))
本文深入探讨了著名的斐波那契数列的特性及其生成方式,通过Python代码实例展示了如何使用生成器高效地计算斐波那契数列。生成器允许在迭代过程中按需计算值,避免了一次性加载整个数列到内存中,特别适合处理大量数据。
1929

被折叠的 条评论
为什么被折叠?



