# Python 程序：打印斐波那契序列

> 原文： [https://www.programiz.com/python-programming/examples/fibonacci-sequence](https://www.programiz.com/python-programming/examples/fibonacci-sequence)

#### 在此程序中，您将学习使用`while`循环打印斐波那契数列。

要理解此示例，您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题：

*   [Python `if...else`语句](/python-programming/if-elif-else)
*   [Python `while`循环](/python-programming/while-loop)

* * *

斐波那契数列是 0、1、1、2、3、5、8 ...的整数序列。

前两项为 0 和 1。所有其他项均通过将前两项相加而获得。 这意味着第 n 个项是第（`n-1`）个和第（`n-2`）个项的总和。

## 源代码

```py
# Program to display the Fibonacci sequence up to n-th term

nterms = int(input("How many terms? "))

# first two terms
n1, n2 = 0, 1
count = 0

# check if the number of terms is valid
if nterms <= 0:
   print("Please enter a positive integer")
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n1)
else:
   print("Fibonacci sequence:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # update values
       n1 = n2
       n2 = nth
       count += 1
```

**输出**

```py
How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8

```

在这里，我们将术语数存储在`nterms`中。 我们将第一项初始化为 0，第二项初始化为 1。

如果项数大于 2，我们使用`while`循环通过将前两个项相加来查找序列中的下一个项。 然后，我们交换变量（对其进行更新）并继续进行该过程。

您也可以使用递归解决此问题： [Python 程序：使用递归打印斐波那契序列](/python-programming/examples/fibonacci-recursion "Python program to print the Fibonacci sequence using recursion")。