Python 3.x python中的递归错误

Python 3.x python中的递归错误,python-3.x,recursion,Python 3.x,Recursion,您好,我是python新手,我想实现递归斐波那契函数,但我的代码(上面)不起作用。当我调用此函数时,终端打印第6行,直到达到递归深度限制。这里使用的正确语法是什么?您需要对或进行非常小的更改 (算术或逻辑或) 另一个选项是在第4行使用if(n==1)|(n==2): 希望有帮助:)“|”是一个算术或逻辑。使用“或” def fibonacci(n): if n==0: return 0 if n==1 | n==2: return 1 f

您好,我是python新手,我想实现递归斐波那契函数,但我的代码(上面)不起作用。当我调用此函数时,终端打印第6行,直到达到递归深度限制。这里使用的正确语法是什么?

您需要对
进行非常小的更改

(算术或逻辑或)

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

希望有帮助:)

“|”是一个算术或逻辑。使用“或”

def fibonacci(n):
    if n==0:
        return 0
    if n==1 | n==2:
        return 1
    f = (fibonacci(n-1) + fibonacci(n-2))
    return f
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
   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