Python实现下楼台阶方案数计算:递归与迭代双解

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 4人浏览过
原创

本文详解Python解决下楼台阶方案数的两种编程思路。通过递归与迭代方法,计算从顶层走到h层台阶的所有可能路径数。代码展示递归逻辑及基于斐波那契数列的迭代优化实现,并附带运行结果分析,供Python开发者参考学习。

本文详细介绍Python解决下楼台阶方案数的具体实现方法。内容旨在为读者提供实用的代码参考与思路解析。

# -*- coding:utf-8 -*-
#!python3
'''
下楼问题。从楼上走到楼下共有h个台阶,每一步有两种走法:
走1个台阶,走2个台阶,问有多少可走的方案。用递归思想和迭代思想编程
'''
'''
分析:问题可以从最后一次是走1步还是两步,反向考虑
'''
def take_stairs_recursive(n):
  if n == 1:
    return 1
  elif n == 2:
    return 2
  else:
    return take_stairs_recursive(n-1)+take_stairs_recursive(n-2)
'''
其实就是斐波那契数列
'''
def take_stairs(n):
  if n == 1:
    return 1
  if n == 2:
    return 2
  a,b = 1,2
  result = 0
  for i in range(3,n+1):
    result = a + b
    a = b
    b = result
  return result
print(take_stairs_recursive(10))
print(take_stairs(10))

程序执行后的输出结果如下所示:

89 89

如需进一步了解Python相关技巧,建议查阅本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。

期望上述内容能对读者的Python编程实践提供有效帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表