Ваш текущий код можно исправить, вернув present
вместо nextterm
.
Если вам интересно, обычная реализация Фибоначчи в Python часто выглядит следующим образом. Имена переменных в этой версии кажутся мне более интуитивными.
def fib(n):
cur, nxt = (0, 1)
while n > 0:
cur, nxt = (nxt, cur + nxt)
n -= 1
return cur