Вычисления факториала числа на Python

Пользователь

от rowan , в категории: Python , год назад

На собеседовании один кандидат предложил вот такой способ вычисления факториала числа на Python 😁

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Плохой код для вычисления факториала числа
def factorial(n):
    if n < 0:
        return None
    elif n == 0 or n == 1:
        return 1
    else:
        result = n
        while n > 1:
            result = result * (n - 1)
            n -= 1
        return result

Как минимум две проблемы здесь

  1. Использование цикла while для вычисления факториала, в то время как существует более простой способ решения этой задачи с использованием рекурсии.
  2. Неправильный расчет факториала для нуля и отрицательных чисел.
Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

Нет ответов