Python走楼梯问题解决方法示例

yipeiwu_com7年前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的Django框架加载模版的方式

一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的 template loaders 从其他来源加载模板。 Django有两种方法加载模板  &n...

python GUI实现小球满屏乱跑效果

python GUI实现小球满屏乱跑效果

本文实例为大家分享了python GUI实现小球满屏乱跑效果的具体代码,供大家参考,具体内容如下 学习tkinter有一段时间了,综合运用一下,做一个类似屏保类的东西,碰到屏幕边缘就反弹...

Python基于xlrd模块操作Excel的方法示例

本文实例讲述了Python基于xlrd模块操作Excel的方法。分享给大家供大家参考,具体如下: 一、使用xlrd读取excel 1、xlrd的安装: pip install xlr...

Python实现数据库编程方法详解

本文实例讲述了Python实现数据库编程方法。分享给大家供大家参考。具体分析如下: 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方...

Python中用Decorator来简化元编程的教程

少劳多得 Decorator 与 Python 之前引入的元编程抽象有着某些共同之处:即使没有这些技术,您也一样可以实现它们所提供的功能。正如 Michele Simionato 和我在...