Python предлагает прямую функцию, которая может вычислить факториал числа без написания всего кода для вычисления факториала.
Что такое функция factorial() в Python?
Чтобы найти и вычислить факториал любого целого числа в Python, используйте встроенный метод factorial(). Функция factorial() принадлежит математической библиотеке Python, поэтому, если мы хотим использовать метод factorial(), нам придется сначала импортировать математическую библиотеку.
Синтаксис
|
1 |
math.factorial(num) |
Метод factorial() принимает одно целое число в качестве аргумента. Если мы укажем float или любое отрицательное число, это вызовет ошибку.
Возвращаемое значение
Метод factorial() возвращает факториал нужного числа.
Программа Python для поиска факториала с использованием нативного подхода
|
1 2 3 4 5 6 7 8 9 10 |
# Taking input from user num = int(input("Enter the number to find factorial: ")) # Declaring one temporary variable to store the answer fact = 1 # Finding factorial of the given number for i in range(1, num+1): fact = fact*i print("Factorial of the given number ", num, " is: ", fact) |
Вывод:
|
1 2 |
Enter the number to find factorial: 5 Factorial of the given number 5 is: 120 |
В этом примере мы сначала получили ввод от пользователя, а затем объявили один факт временной переменной для хранения факториала данного числа.
Как мы знаем, факториал данного числа N равен N*N-1*N-2*…*1, поэтому мы записали это в обратном порядке в цикле for и получили ответ.
Программа с использованием метода factorial()
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 |
# app.py # importing math library import math # Taking input from user num = int(input("Enter the number to find factorial: ")) # Finding factorial of the given number fact = math.factorial(num) print("Factorial of the given number ", num, " is: ", fact) |
Вывод:
|
1 2 |
Enter the number to find factorial: 5 Factorial of the given number 5 is: 120 |
В этом примере мы сначала получили ввод от пользователя после импорта математической библиотеки. Затем мы вызвали метод factorial(), чтобы найти факториал заданного числа, и, наконец, получили ответ.
Пример поиска факториала для нецелого значения
См. следующий код.
|
1 2 3 4 5 6 7 8 |
# app.py import math print("The factorial of 11.21 is : ", end="") # raises exception print(math.factorial(11.21)) |
Вывод:
|
1 2 3 4 5 |
python3 app.py The factorial of 11.21 is : Traceback(most recent call last): File "app.py", line 6, in <module> print(math.factorial(11.21)) ValueError: factorial() only accepts integral values |
Мы столкнемся с ошибкой ValueError, потому что функция factorial() принимает только целочисленное значение.
Заключение
Если вы хотите найти факториал в Python, вы можете либо использовать функцию math.factorial(), либо использовать наивный метод.
