2021年「博客之星」评选开始投票开启——我想要您投一票我的CSDN主页My Python 学习个人备忘录我的博文推荐
今天在QQ学习群聊天,聊到递归,让我返回重学习了一把。
- 聊天勾我复习递归复习递归完整代码
聊天勾起我复习递归 一个学伴儿聊到一段代码:
疑惑为什么后面有“321”输出。
我加入调试文字后,还是疑惑。若
大佬解惑
递归复习 代码试炼 用递归输出数列第40项都难,第50项卡死。而for,即使第10000项输出,也是立即显现。 递归实现代码
def fib(n): #递归实现 if n==0: return 0 elif n==1: return 1 else: return fib(n-1)+fib(n-2) #数列第三项是前两项的和。For实现代码
def fib_for(n): fib = [0, 1] #初始化斐波那契数列前两项。 for i in range(2, n+1): #生成第二项到第n项。 fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。 return fib #返回到第n项的整个数列。
python完整代码 (如果从语句注释不能清楚作用,请评论区留言指教和探讨。欄)
# coding: utf-8 '''斐波那契数列的递归实现和for实现''' def fib(n): #递归实现 if n==0: return 0 elif n==1: return 1 else: return fib(n-1)+fib(n-2) #数列第三项是前两项的和。 def fib_for(n): #for实现 fib = [0, 1] #初始化斐波那契数列前两项。 for i in range(2, n+1): #生成第二项到第n项。 fib.append(fib[i-1]+fib[i-2]) #数列第三项是前两项的和。 return fib #返回到第n项的整个数列。 n = 10 s = f'斐波那契数列第{n}项' blank = ' ' input(f'nn{s:.^33}nn{blank:8}递归实现:{fib(n)}nn{blank:8}For实现:{fib_for(n)[-1]}nnFor实现的到{n}项的数列:n{fib_for(n)}nn{"The End":.^42}n')
我的博文推荐:
排序数组中查找元素的重复起止位置(当前阅读1194)柱状图中最大矩形(当前阅读1595)电话拨号键盘的字母组合(当前阅读1205)密码强度检测器(当前阅读1662)求列表平衡点(当前阅读1694) 字符串统计(当前阅读1630)尼姆游戏代码优化版(当前阅读815)尼姆游戏(聪明版首发)(当前阅读3230)
参考文章:
上一篇: 练习:旋转链表(list.insert(0, list.pop())实现)
下一篇:
OPP三大特性:封装中的property通过内置对象理解python'正则表达式python中“*”的作用Python 完全自学手册海象运算符Python中的 `!=`与`is not`不同学习编程的正确方法
来源:老齐教室
CSDN实用技巧博文:
8个好用到爆的Python实用技巧python忽略警告
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)