Python

Написання факторіальної програми на Python

Написання факторіальної програми на Python
Факторіал числа - це число, яке ви отримаєте, помноживши всі числа з 1 на це число. Факториал числа позначається символом '!'символ. Наприклад, якщо ми хочемо з'ясувати факторіал 4, позначений 4!, тоді результат буде 1х2х3х4 = 24. Існує багато способів з’ясувати факторіал числа. Факториал можна визначити в Python, використовуючи вбудовану функцію для циклу та рекурсивних функцій. Цей підручник показує, як факториал числа можна визначити за допомогою різних функцій Python.

Приклад 1: Знайдіть факторіал числа за допомогою вбудованої функції

Python має вбудовану функцію з іменем факторіал () під математика модуль. Наступний сценарій обчислює факторіал будь-якого числа за допомогою вбудованого факторіал () функція. У цьому сценарії будь-яке дійсне ціле число буде прийнято в якості вхідних даних, і функція обчислить факторіальне значення цього числа і виведе факторіальне значення вхідного числа.

#!/ usr / bin / env python3
# Імпортувати математичний модуль
імпортна математика
# Візьміть будь-які числові значення
n = int (введення ("Введіть будь-яке число:"))
# Дізнайтеся факторіал
факт = математика.факторіал (n)
# Надрукувати результат факторіалу
print ("Факторіал% d -% d"% (n, факт))

Вихідні дані

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

Приклад 2: Знайдіть факторіал числа за допомогою циклу

Наступний скрипт показує, як можна обчислити факторіал будь-якого числа, не використовуючи вбудовану функцію в Python. Ось, для цикл використовується для обчислення факторіалу числа. Будь-яке введене ціле значення буде прийнято та збережено як названу змінну п. Ім'я змінної факт використовується для зберігання результату факторіалу і ініціалізується до 1 перед входом у цикл. Якщо значення п більше одного або дорівнює одиниці, тоді цикл буде повторюватись від 1 до n + 1 разів і буде обчислювати факторіальне значення. В іншому випадку цикл перевірить, чи значення n дорівнює 0 або від’ємне. Якщо значення n дорівнює 0, то факторіальний результат буде 1; а якщо значення n є цілим від’ємним числом, то надрукується повідомлення про помилку.

#!/ usr / bin / env python3
 
# Візьміть числове значення і збережіть у n
n = int (введення ("Введіть будь-яке число:"))
# Ініціалізувати змінну
факт = 1
# Дізнайтеся факторіал, якщо введене число більше 0
якщо n> = 1:
# Повторіть цикл, множивши числа в межах від 1 до n
для i в діапазоні (1, n + 1):
факт = факт * i
# Роздрукуйте результат розробки
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
# Візьміть числове значення
число = int (введення ("Введіть будь-яке число:"))
# Визначте рекурсивну функцію для обчислення факторіалу
def factorial_recursive (n):
# Зберігаємо факторіальні результати 0 і 1
якщо n == 0 або n == 1:
результат = 1
# Збережіть вхідне число для заперечного значення
еліф н < 1:
результат = n
# Знайдіть результат факторіалу рекурсивно
ще:
результат = n * факторіальна_рекурсивна (n-1)
# Поверніть результат
повернути результат
# Виклик функції
факт = факторіал_рекурсивний (число)
# Вивести результат на додатне число
якщо факт> = 0:
print ("Факториал% d становить% d."% (число, факт))
ще:
# Роздрукуйте повідомлення для від’ємного числа
print ("Ви повинні ввести будь-яке додатне число")

Вихідні дані

На наступному скріншоті сценарій виконується тричі зі значеннями 1, -5 та 8.

Приклад 4: Знайдіть факторіал числа з обробкою винятків

Зазначені три сценарії перевіряють лише позитивне чи негативне число. Наступний сценарій обчислює факторіал за допомогою вбудованої функції factorial () з обробкою винятків. Якщо користувач вводить будь-які дані без цілочисельного значення, то генерується виняток і друкується повідомлення про помилку.

#!/ usr / bin / env python3
# Імпортувати математичний модуль
імпортна математика
# Заперечіть блок спроб
спробуйте:
# Візьміть числове значення
n = int (введення ("Введіть будь-яке число:"))
якщо n> = 0:
# Дізнайтеся факторіал
факт = математика.факторіал (n)
# Надрукувати результат факторіалу
print ("Факторіал% d -% d"% (n, факт))
ще:
# Збільште виняток, якщо число від’ємне
підняти виняток ("Ви повинні ввести будь-яке додатне число")
# вивести повідомлення про помилку для дробового введення
крім ValueError:
print ("Потрібно ввести ціле число")
# Друкувати повідомлення про помилку для негативного введення
крім винятку як e:
print ('Помилка:% s'% e)

Вихідні дані

Скрипт виконується тричі зі значеннями h, -3 та 7 на наступному скріншоті. Тут генерується виняток для значення 'h.'

Висновок

Цей підручник показує деякі різні способи обчислення факторіального значення числа в Python. Поняття факторіалу числа та засновані на Python методи обчислення факторіалу повинні бути зрозумілі читачеві після прочитання цього підручника.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...