Python 有人能帮我解决以下错误吗:+;的类型错误:不支持的操作数类型:';非类型';和';非类型'; def fibo(数值): 如果num

Python 有人能帮我解决以下错误吗:+;的类型错误:不支持的操作数类型:';非类型';和';非类型'; def fibo(数值): 如果num,python,python-3.x,recursion,Python,Python 3.x,Recursion,您的函数fibo从不返回数值,但仅在num为0、1或2时打印消息。因此fibo(num-1)和fibo(num-2)是非类型的。除了打印之外,还必须返回一个值 def fibo(num): if num <= 0: print("Incoreect input number should be more than 0 or equal to 0.") elif num == 1: print("T

您的函数
fibo
从不返回数值,但仅在num为0、1或2时打印消息。因此
fibo(num-1)
fibo(num-2)
是非类型的。除了打印之外,还必须返回一个值

def fibo(num):

    if num <= 0:
        print("Incoreect input number  should  be more than 0 or equal to 0.")
    
    elif num == 1:
        print("The series is 1.")

    elif num == 2:
        print("The series is 1.")
    
    else:
        return(fibo(num-1) + fibo(num-2))   


def main(): # fibonacci series  
    
    num = int(input("Plz enter the nth  number to genrate fibbonaci numbers "))
    
    print("The Fibonacci series is : ")

    for i in range(num):
        print(fibo(i))

if __name__ == "__main__":
    main()
def fibo():

如果num您可能想要签出,您需要返回
num==1
num==2
的内容。谢谢您,当然可以了。然后,您可以接受答案,这样主题就结束了。
def fibo():
    if num <= 0:
        print("Incoreect input number  should  be more than 0 or equal to 0.")

    elif num == 1:
        print("The series is 1.")
        return 1

    elif num == 2:
        print("The series is 1.")
        return 1

    else:
        return(fibo(num-1) + fibo(num-2))