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数据结构之Array用法实例

本文实例讲述了python数据结构之Array用法,分享给大家供大家参考。具体方法如下: import ctypes class Array: def __init__(...

Python遍历某目录下的所有文件夹与文件路径

Python遍历某目录下的所有文件夹与文件路径

本文与《【Java】读取其下所有文件夹与文件的路径》 (点击打开链接)为姊妹篇,主要讲述Python对于文件信息的读取操作。 Python对于文件信息的读取操作,在其固有类os中。 下面...

解决Pytorch 加载训练好的模型 遇到的error问题

解决Pytorch 加载训练好的模型 遇到的error问题

这是一个非常愚蠢的错误 debug的时候要好好看error信息 提醒自己切记好好对待error!切记!切记! -----------------------分割线------------...

python flask 多对多表查询功能

我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。那么我想了好久。也没有想到一个解决的办法,试了几种方法,可能是思路的限制我放弃了,后来,我就在网上百度,可是发...

Pycharm创建项目时如何自动添加头部信息

Pycharm创建项目时如何自动添加头部信息

1.打开PyCharm,选择File--Settings 2.依次选择Editor---Code Style-- File and Code Templates---Python Sc...