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

yipeiwu_com5年前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传入参数的几种方法

详解Python传入参数的几种方法

Python传入参数的方法有:位置参数、默认参数、可变参数、关键字参数、和命名关键字参数、以及各种参数调用的组合 写在前面 Python唯一支持的参数传递方式是『共享传参』(call b...

利用Python实现简单的相似图片搜索的教程

利用Python实现简单的相似图片搜索的教程

大概五年前吧,我那时还在为一家约会网站做开发工作。他们是早期创业公司,但他们也开始拥有了一些稳定用户量。不像其他约会网站,这家公司向来以洁身自好为主要市场形象。它不是一个供你鬼混的网站—...

python 统计一个列表当中的每一个元素出现了多少次的方法

如下所示: #coding=utf-8 #方式一 print('*'*20 + '方式一' + '*'*20) li1 = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,...

python实现ID3决策树算法

决策树之ID3算法及其Python实现,具体内容如下 主要内容 决策树背景知识 决策树一般构建过程 ID3算法分裂属性的选择 ID3算法流程及其优缺点分析 ID3算法Python代码...

python 抓包保存为pcap文件并解析的实例

首先是抓包,使用scapy模块, sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件 若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据...