Почему функция возвращает None при аргументе 1
Почему функция возвращает None при аргументе 1 (единица), при всех остальных возврат корректный?
def fib(n):
fib_values = [1, 1]
for i in range(1, n):
max_n = len(fib_values)
if n > max_n:
appender = fib_values[max_n-2] + fib_values[max_n-1]
fib_values.append(appender)
else:
return fib_values[n-1]
def main(n):
print(fib(n))
main(1)
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Потому что у range правая граница невключительно, а значит цикл не выполняется ни разу.
А вообще, для таких вещеё существует отладчик.