本文实例讲述了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程序设计有所帮助。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250