Python

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

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

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

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

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

Выход

После запуска скрипта в качестве входного числа дается 3, а в качестве выходного - 3!, 6, напечатан.

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

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

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

Выход

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

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

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

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

Выход

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

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

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

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

Выход

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

Заключение

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

Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...
Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...