Python分别使用迭代与递归分别实现斐波那契数列

简介: Python分别使用迭代与递归分别实现斐波那契数列


什么是斐波那契数列

听说过在最美分割线、黄金比例吗

1:1.618

20201008100613261.png

迭代实现

 def fab(n):
  n1=1
  n2=1
  n3=1
  if n<1:
    print('输入有误!')
    return -1
  while (n-2) > 0 :
    n3 = n2 + n1
    n1 = n2
    n2 = n3
    n -= 1
  return n3
 result = fab(20)
 if result !=1:
  print('总共有%d对兔子出生' % result)

递归实现

def fab(n):
  if n < 1 :
    print('输入有误!')
    return -1
  if n == 1 or n == 2:
    return 1
  else:
    return fab(n-1) + fab(n-2)
result = fab(20)
if return != -1:
  print ('总共有%d对兔子出生' % result)
相关文章
|
2月前
|
开发者 Python 容器
深入理解Python迭代器:迭代机制的核心与应用
本文介绍了Python迭代器的核心概念、工作原理和应用场景。迭代器是遍历容器类型数据结构(如列表、元组、字典和集合)的对象,遵循迭代器协议,具有记忆遍历位置和一次性特点。通过实现迭代器协议,开发者能为自定义类型定义迭代行为,实现高效处理大量数据和与其他迭代工具协同工作。迭代器与可迭代对象的区别在于,可迭代对象实现`__iter__()`方法,返回迭代器,而迭代器实现`__next__()`方法,用于逐个访问元素。理解并运用迭代器能提升Python代码的性能和可读性。
|
2月前
|
Python
请解释Python中的递归是什么?并举例说明其用法。
【2月更文挑战第25天】【2月更文挑战第85篇】请解释Python中的递归是什么?并举例说明其用法。
|
1月前
|
Python
【python】爬楼梯—递归分析(超级详细)
【python】爬楼梯—递归分析(超级详细)
C4.
|
2月前
|
算法 搜索推荐 编译器
Python递归
Python递归
C4.
12 1
|
16天前
|
机器学习/深度学习 存储 测试技术
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
25 0
|
17天前
|
缓存 算法 Python
python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
10 0
|
2月前
|
Python
Python中使用for循环列表或可迭代对象
Python中使用for循环列表或可迭代对象
16 0
|
2月前
|
索引 Python
在 Python 中迭代地遍历两个列表
在 Python 中迭代地遍历两个列表
18 0
|
2月前
|
算法 Python
数学建模-python递归、lingo解多元一次方程
数学建模-python递归、lingo解多元一次方程
30 0
|
2月前
|
存储 Python
用 Python 实现斐波那契数列。
【2月更文挑战第9天】【2月更文挑战第25篇】用 Python 实现斐波那契数列。