Я пытаюсь написать программу, которая находит последовательность Фибоначчи любого заданного числа, используя формулу: F -n = (-1) п + 1 Р nпоследовательность Фибоначчи с помощью рекурсии с отрицательными числами Python
Я написал код для положительной стороны, который работает, но я получаю безостановочную рекурсию при вводе отрицательного числа.
def fib(n):
if n > -1:
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
if n <= -1:
return ((-1)**(n+1)) + fib(n)
num = eval(input("enter a number: "))
print("The value of the fibonacci series for the number", num, "is: ", fib(num))
Отрицательные числа Фибоначчи не существуют. –
Извините, джентльмены, но определение существует по логическому расширению. f (n-2) = f (n) - f (n-1). Вы продолжаете работать вдали от 0. – Prune
Eval в пользовательском вводе ... omgomgomgomgomgomgomgomg Run! **: - D ** @aqueduct, проверьте http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html – BorrajaX