本文实例讲述了Python走楼梯问题解决方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# -*- 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程序设计有所帮助。
原文链接:http://www.cnblogs.com/hupeng1234/p/6680631.html