首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中的递归错误

python中的递归错误
EN

Stack Overflow用户
提问于 2016-07-04 17:36:40
回答 2查看 363关注 0票数 1
代码语言:javascript
运行
复制
def fibonacci(n):
    if n==0:
        return 0
    if n==1 | n==2:
        return 1
    f = (fibonacci(n-1) + fibonacci(n-2))
    return f

嗨,我是python新手,我想实现一个递归的fibonacci函数,但是我的代码(上面)不起作用。当我调用这个函数时,终端打印第6行,直到达到递归深度极限。这里正确的语法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-04 17:41:29

您需要将=> |更改为or

(算术或到逻辑OR)

代码语言:javascript
运行
复制
def fibonacci(n):
    if n==0:
        return 0
    if n==1 or n==2:
        return 1
    f = (fibonacci(n-1) + fibonacci(n-2))
    return f


print fibonacci(6)
# 8

另一种选择是在第4行使用if (n==1)|(n==2):

希望它有帮助:)

票数 1
EN

Stack Overflow用户

发布于 2016-07-04 17:42:35

“x”是一种算术,不是一种逻辑。使用“或”

代码语言:javascript
运行
复制
   def fibonacci(n):
        if n==0:
            return 0
        if n==1 or n==2:
            return 1
        f = (fibonacci(n-1) + fibonacci(n-2))
        return f
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38189840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档