跳到主要内容

Python 程序打印斐波那契序列

要理解这个例子,你需要了解以下Python 编程主题的知识:

斐波那契数列是由 0, 1, 1, 2, 3, 5, 8... 组成的整数序列。

前两项为 0 和 1。所有其他项都是通过加上前两项得到的。这意味着第 n 项是第 (n-1) 项和第 (n-2) 项的和。

源代码

# 程序显示斐波那契数列直到第 n 项
nterms = int(input("要显示多少项? "))

# 前两项
n1, n2 = 0, 1
count = 0

# 检查项数是否有效
if nterms <= 0:
print("请输入一个正整数")
# 如果只有一项,返回 n1
elif nterms == 1:
print("斐波那契数列直到",nterms,"项:")
print(n1)
# 生成斐波那契数列
else:
print("斐波那契数列:")
while count < nterms:
print(n1)
nth = n1 + n2
# 更新值
n1 = n2
n2 = nth
count += 1

输出

要显示多少项? 7
斐波那契数列:
0
1
1
2
3
5
8

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

如果项数超过 2,我们使用 while 循环通过加上前两项来找到序列中的下一项。然后我们交换变量(更新它),继续这个过程。

你也可以使用递归来解决这个问题:使用递归打印斐波那契数列的 Python 程序