Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中的递归函数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>考虑一下Python中的这个基本递归:</p> <pre><code>def fibonacci(number): if number == 0: return 0 elif number == 1: return 1 else: return fibonacci(number-1) + fibonacci(number-2) </code></pre> <p>根据Fibonacci级数的(n-1)+(n-2)函数,这是有意义的。</p> <p>Python如何执行包含另一个不在同一代码行内但在同一代码行内的递归?“finobacci(数字-1)”是否完成所有递归,直到它达到“1”,然后它对“fibonacci(数字-2)”执行相同的操作并添加它们?</p> <p>为了进行比较,下面的递归函数将数字“x”提升为幂“y”,我可以理解递归,def power调用自身直到y==0,因为在一行中只有一个递归调用。仍然不应该所有结果都是“1”,因为上次执行的命令是“return 1”,当y==0时,因此不返回x?</p> <pre><code>def power(x, y): if y == 0: return 1 else: return x*power(x, y-1) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在表达式<code>fibonacci(number-1) + fibonacci(number-2)</code>中,第一个函数调用必须在调用第二个函数调用之前完成。</p> <p>所以,第一次调用的整个递归堆栈必须在第二次调用开始之前完成。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
5 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
7 回答
无法使用Django1.7和mongodb登录管理站点
1 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
3 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
10 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
10 回答
无法使用Djangomssql provid
10 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
3 回答
无法使用Djangomssq迁移Django数据库
9 回答
无法使用Djangonox创建用户
4 回答
无法使用Djangopyodb从Django查询SQL Server
6 回答
无法使用Djangopython3ldap连接到ldap
6 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
4 回答