在不使用列表或数组的情况下,可以使用生成器来表示斐波那契数列。生成器是一种特殊的函数,可以通过 yield 语句逐步生成序列中的元素。
以下是使用生成器表示斐波那契数列的一行代码示例:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
# 使用生成器生成斐波那契数列的前10个数字
fib = fibonacci()
fibonacci_sequence = [next(fib) for _ in range(10)]
print(fibonacci_sequence)
该示例中,我们定义了一个生成器函数 fibonacci()
,其中使用了两个变量 a
和 b
来存储斐波那契数列中的两个相邻数字。在每次迭代中,我们使用 yield
语句返回当前的 a
值,并更新 a
和 b
为下一个数字的值。通过无限循环 while True
,我们可以不断生成斐波那契数列中的数字。
然后,我们通过列表推导式 [next(fib) for _ in range(10)]
使用生成器生成斐波那契数列的前 10 个数字,并将结果存储在 fibonacci_sequence
中。最后,我们打印输出 fibonacci_sequence
,结果为 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
。
下一篇:不使用列表进行猜数游戏的问题。