python yield 斐波那契数列
时间: 2023-12-05 11:41:35 浏览: 25
下面是使用 Python 中的 yield 语句生成斐波那契数列的代码示例:
```python
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
# 输出前 10 个斐波那契数列
fib = fibonacci()
for i in range(10):
print(next(fib))
```
运行上述代码,将会输出前 10 个斐波那契数列:
```
0
1
1
2
3
5
8
13
21
34
```
在上述代码中,我们定义了一个名为 fibonacci 的生成器函数,它使用 while 循环和 yield 语句生成斐波那契数列。在每次循环中,我们使用 yield 语句返回当前的斐波那契数列,并更新 a 和 b 的值,以便下一次循环时生成下一个斐波那契数列。
相关问题
python实现斐波那契数列
斐波那契数列是一个数列,起始两项为0和1,之后每一项都等于前两项之和。即:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
以下是Python实现斐波那契数列的几种方法:
1. 利用循环实现:
```python
def fibonacci(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
```
2. 利用递归实现:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
3. 利用生成器实现:
```python
def fibonacci(n):
a, b = 0, 1
for i in range(n):
yield a
a, b = b, a + b
```
python中斐波那契数列的编程方法
在Python中,有多种方法可以实现斐波那契数列的编程方法。以下是几种常见的方法:
方法一:使用循环实现斐波那契数列
```python
def fibonacci1(n):
a, b = 0, 1
fib_list = []
for _ in range(n):
fib_list.append(a)
a, b = b, a + b
return fib_list
```
方法二:使用递归函数实现斐波那契数列
```python
def fibonacci2(n):
if n <= 0:
return []
elif n == 1:
return [1]
elif n == 2:
return [1, 1]
else:
fib_list = fibonacci2(n-1)
fib_list.append(fib_list[-1] + fib_list[-2])
return fib_list
```
方法三:使用生成器实现斐波那契数列
```python
def fibonacci3(n):
a, b = 1, 1
for _ in range(n):
yield a
a, b = b, a + b
```
以上是三种常见的实现斐波那契数列的方法。你可以根据自己的需求选择其中的一种方法来使用。