Приклад 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 методи обчислення факторіалу повинні бути зрозумілі читачеві після прочитання цього підручника.