您的位置:

Python 程序:斐波那契数列

如何使用 While 循环、For 循环和递归编写 Python 斐波那契数列程序?。根据数学,斐波那契数或数列是 0,1,1,2,3,5,8,13,21,34 …

使用 While 循环的 Python 斐波那契数列程序

这个 Python 程序允许用户输入任何正整数。接下来,这个程序使用 While 循环显示从 0 到用户指定数字的 Python 斐波那契数列。

Number = int(input("\nPlease Enter the Range : "))

# Initializing First and Second Values
i = 0
First_Value = 0
Second_Value = 1

# Find & Displaying
while(i < Number):
           if(i <= 1):
                      Next = i
           else:
                      Next = First_Value + Second_Value
                      First_Value = Second_Value
                      Second_Value = Next
           print(Next)
           i = i + 1
Please Enter the Range : 4
0
1
1
2

python 中的斐波那契数列程序允许用户输入任意正整数,然后将该数赋给变量 number。接下来,我们声明了三个整数变量 I,第一个值和第二个值以及赋值。

下面的 Python While 循环确保循环从 0 开始,并且小于用户给定的数字。在 Python 斐波那契数列程序的 While 循环中,我们使用了 If 语句。

  • 如果 I 值小于或等于 1,则 Next = i
  • 如果 I 值大于 1,则在 Else 块内执行计算。

让我们从迭代的角度来看 python 例子中斐波那契数列中 while 循环的工作原理。在这个斐波那契数列的例子中,用户输入的值:数字= 4,i = 0,第一个值= 0,第二个值= 1

Python While Loop 第一次迭代

  • 而(0 < 4)为真。因此,程序在这段时间内开始执行语句。
  • 在 while 循环中,我们有 If 语句和条件 if (0 < = 1)为真。因此,Next = 0,编译器从 if 语句块退出。
  • 打印对帐单打印(下一步)打印值 0。
  • 最后,我增加到 1。

Python 斐波那契数列边循环边二次迭代

  • 而(1 < 4)为真。
  • 不一会儿,我们有了 Python If 语句和条件 if (1 < = 1)为真。因此,Next = 1,编译器从 if 语句块退出。
  • 打印对帐单打印(下一步)打印值 1。
  • 我数到 1。

第三次迭代:While (2 < 4) is TRUE in this Fibonacci series in python. The condition if (2 <= 1) is FALSE, so statements inside the else block to start executing.

下一个=第一个 值+第二个 值 下一个= 0 + 1 = 1 第一个 值=第二个 值= 1 第二个 _ 值=下一个= 1

接下来,打印语句打印(下一步)打印值 1。最后,我增加到 1

第四次迭代:while (3 < 4) is TRUE. So, the Python 程序开始执行 while 内部的语句。

条件是(3 <= 1) is FALSE 下一个= 1 + 1 = 2 第一个 值=第二个 值= 1 第二个 _ 值=下一个= 2

接下来,打印语句打印(下一步)打印值 2。最后,我增加到 1

第五次迭代:While (4 < 4) is FALSE so, it exits from the while loop.

下一个值的最终输出是:0 1 1 2

Python 中使用 For 循环的斐波那契数列

这个 Python 程序使用 For Loop 显示从 0 到用户指定数字的斐波那契数列。

# It will start at 0 and travel upto below value
Number = int(input("\nPlease Enter the Range : "))

# Initializing First and Second Values 
First_Value = 0
Second_Value = 1

# Find & Displaying
for Num in range(0, Number):
           if(Num <= 1):
                      Next = Num
           else:
                      Next = First_Value + Second_Value
                      First_Value = Second_Value
                      Second_Value = Next
           print(Next)
Please Enter the Range : 10
0
1
1
2
3
5
8
13
21
34

Python 中使用递归的斐波那契数列

这个 Python 程序使用递归概念显示了从 0 到用户给定数字的斐波那契数列。

# Recursive Function Beginning
def Fibonacci_series(Number):
           if(Number == 0):
                      return 0
           elif(Number == 1):
                      return 1
           else:
                      return (Fibonacci_series(Number - 2)+ Fibonacci_series(Number - 1))

# End of the Function

# Series will start at 0 and travel upto below value
Number = int(input("\nPlease Enter the Range Number: "))

# Find & Displaying Them
for Num in range(0, Number):
           print(Fibonacci_series(Num))

在这个斐波纳契数列的 python 程序中使用递归的例子,我们定义了一个函数。以下函数接受整数值作为参数值和返回值。

def Fibonacci_series(Number):

让我们看看上面指定的函数里面的 Elif 语句

  • if (Number == 0)检查给定的数字是否为 0。如果为真,函数将返回值零。
  • if(Number == 1)检查给定的数字是否为 1。如果为真,函数返回值 1。
  • 如果这个数字大于 1,else 块中的语句就会被执行。

在 Else 块中,我们递归调用函数来显示结果。

return (Fibonacci_series(Number-2)+ Fibonacci_series(Number-1))

为了演示 python 中使用递归的斐波那契数列程序,Number= 2

(斐波那契数列(数字-2)+斐波那契数列(数字-1))

(斐波那契数列(2–2)+斐波那契数列(2–1))

意思是,(斐波那契数列(0)+斐波那契数列(1))

return (0 + 1) = return 1