打印斐波那契数列的 Python 程序

要理解这个例子,你应该具备以下 Python 编程 主题的知识


斐波那契数列是一个整数序列 0, 1, 1, 2, 3, 5, 8...

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

源代码

代码可视化:想看看斐波那契数列是如何构建的吗?试试我们的逐行代码可视化工具。

# 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")
# if there is only one term, return n1
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n1)
# generate fibonacci sequence
else:
   print("Fibonacci sequence:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # update values
       n1 = n2
       n2 = nth
       count += 1

输出

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

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

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

你也可以使用递归打印斐波那契数列

在我们结束之前,让我们来检验一下你对这个例子的理解!你能解决下面的挑战吗?

挑战

编写一个函数来获取小于给定数字的斐波那契数列。

  • 斐波那契数列以 01 开始。每个后续的数字都是前两个数字的和。
  • 例如,对于输入 22,输出应为 [0, 1, 1, 2, 3, 5, 8, 13, 21]
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战