Python - 关于斐波那契数列

Python - About Fibonacci sequence

我尝试制作一个代码,要求用户输入一个正数,然后告诉 him/her 这个数字是否属于斐波那契数列。问题是,当我 运行 时,代码永远不会停止 运行nning(或者最终我会得到一个错误)。到目前为止,这是我的代码:

print("\nEnter any positive number, to see if it")
user = input("belongs to the Fibonacci sequence: ")

def fibo(user):
    if user in [0,1]:
        return user
    else:
        return fibo(user-1) + fibo(user-2)


while user.isdigit() == False:
    user = input("Input error. Please enter a positive number: ")
else:
    user = int(user)

if user == fibo(user):
    print("\nNumber",user,"belongs to the Fibonacci sequence.\n")
else:
    print("\nNumber",user,"doesn't belong to the Fibonacci sequence.\n")
def fibo(input):
    if int(input) == 0: return [0]
    x = 0; y = 1; z = 0; erg = []
    while True:
        z = x + z; x = y; y = z
        if y > int(input): break
        else: erg.append(y)
    if int(input) in erg: return True
    else: return False
 
print(fibo(input("fibonacci?: ")))
def fibo(input):
    i = int(input)
    # set z to 1 if you want
    # False to be returned for 0
    x = 0; y = 1; z = 0
    while z < i:
        z = x + y; x = y; y = z
    return z == i
 
print(fibo(input("fibonacci?: ")))