Написание факторной программы на Python

Writing Factorial Program Python



Факториал числа - это число, которое вы получите после умножения всех чисел от 1 на это число. Факториал числа обозначается символом «!». Например, если мы хотим узнать факториал 4, обозначенный 4 !, то результат будет 1x2x3x4 = 24. Есть много способов узнать факториал числа. Факториал можно определить в Python с помощью встроенной функции для цикла и рекурсивных функций. В этом руководстве показано, как определить факториал числа с помощью различных функций Python.

Пример 1. Найдите факториал числа с помощью встроенной функции

Python имеет встроенную функцию с именем факториал() под математика модуль. Следующий скрипт вычисляет факториал любого числа с помощью встроенного факториал() функция. В этом скрипте любое действительное целое число будет принято в качестве входных данных, и функция вычислит факториальное значение этого числа и напечатает факториальное значение входного числа.







#! / usr / bin / env python3
# Импортировать математический модуль
Импортировать математика
# Принимаем любые числовые значения
пзнак равно int(Вход('Введите любой номер:'))
# Узнаем факториал
фактзнак равно математика.факториал(п)
# Вывести результат факториала
Распечатать('Факториал% d равен% d'%(п,факт))

Выход



После запуска скрипта 3 будет введено как входное число, а результат 3! 6 будет напечатан.







Пример 2: Найдите факториал числа с помощью цикла

Следующий сценарий показывает, как можно вычислить факториал любого числа без использования встроенных функций в Python. Здесь для цикл используется для вычисления факториала числа. Любое входное целочисленное значение будет принято и сохранено как переменная с именем п . Переменная с именем факт используется для хранения факториального результата и инициализируется значением 1 перед входом в цикл. Если значение п больше единицы или равно единице, то цикл будет повторяться от 1 до n + 1 раз и будет вычислять факториальное значение. В противном случае цикл проверит, равно ли значение n 0 или отрицательно. Если значение n равно 0, то факториальный результат будет равен 1; и если значение n является отрицательным целым числом, будет напечатано сообщение об ошибке.

#! / usr / bin / env python3

# Принимаем числовое значение и сохраняем в n
пзнак равно int(Вход('Введите любой номер:'))
# Инициализировать переменную
фактзнак равно 1
# Узнаем факториал, если входное число больше 0
еслип> = 1:
# Повторяем цикл, чтобы умножить числа от 1 до n
дляяв диапазон (1,п +1):
фактзнак равнофакт * я
# Распечатать исходный результат
Распечатать('Факториал% d равен% d.'%(п,факт))
еще:
еслип== 0:
# Вывести результат 0!
Распечатать('Факториал',п, ' является ')
еще:
# Распечатать сообщение об ошибке
Распечатать('Вы должны ввести любое положительное число')

Выход



Скрипт выполняется трижды, как показано на следующем снимке экрана. Сценарий выполняется для входных значений 1, 6 и -8. Выходы показаны согласно входным значениям.

Пример 3: Найдите факториал числа с помощью рекурсивной функции

Функция, которая вызывает сама себя во время выполнения функции, называется рекурсивной функцией. Следующий сценарий показывает способ вычисления факториала любого целого числа с помощью рекурсивной функции. После ввода целого числа рекурсивная функция factorial_resursive () будет вызываться с входным значением в качестве аргумента. Если входное значение 0 или 1, то будет возвращено 1. Если входное значение отрицательное, возвращается значение аргумента. Если входное значение больше 1, тогда функция вызовет себя, снова и снова вычитая аргумент на 1, пока не будет вычислен результат факториала.

#! / usr / bin / env python3
# Принимаем числовое значение
количествознак равно int(Вход('Введите любой номер:'))
# Определить рекурсивную функцию для вычисления факториала
deffactorial_recursive(п):
# Сохраняем факториальный результат 0 и 1
еслип== 0 илип== 1:
результатзнак равно 1
# Сохранить номер ввода для отрицательного значения
Элифп< 1:
результатзнак равноп
# Находим факториальный результат рекурсивным способом
еще:
результатзнак равноп * факториал_рекурсивный(н-1)
# Вернуть результат
возвращениерезультат
# Вызов функции
фактзнак равноfactorial_recursive(количество)
# Вывести результат для положительного числа
еслифакт> = 0:
Распечатать('Факториал% d равен% d.'%(количество,факт))
еще:
# Распечатать сообщение для отрицательного числа
Распечатать('Вы должны ввести любое положительное число')

Выход

На следующем снимке экрана сценарий выполняется три раза со значениями 1, -5 и 8.

Пример 4: Найдите факториал числа с обработкой исключений

Три приведенных выше сценария только проверяют, является ли число положительным или отрицательным. Следующий скрипт вычисляет факториал с помощью встроенной функции factorial () с обработкой исключений. Если пользователь вводит какой-либо ввод без целочисленного значения, будет сгенерировано исключение и будет напечатано сообщение об ошибке.

#! / usr / bin / env python3
# Импортировать математический модуль
Импортировать математика
# Бросьте вызов блокировке try
пытаться:
# Принимаем числовое значение
пзнак равно int(Вход('Введите любой номер:'))
еслип> = 0:
# Узнаем факториал
фактзнак равно математика.факториал(п)
# Вывести результат факториала
Распечатать('Факториал% d равен% d'%(п,факт))
еще:
# Вызвать исключение, если число отрицательное
поднимать Исключение('Вы должны ввести любое положительное число')
# выводим сообщение об ошибке для дробного ввода
Кроме ValueError:
Распечатать('Вы должны ввести целое число')
# Распечатать сообщение об ошибке для отрицательного ввода
Кроме Исключение в качествеА также:
Распечатать('Ошибка:% s'%А также)

Выход

Скрипт выполняется три раза со значениями h, -3 и 7 на следующем снимке экрана. Здесь исключение создается для значения 'h.'

Заключение

В этом руководстве показаны некоторые из различных способов вычисления факториала числа в Python. Концепция факториала числа и основанные на Python методы вычисления факториала должны быть понятны читателю после прочтения этого руководства.