Введение
В этом проекте вы научитесь вычислять факториал неотрицательного целого числа. Факториал положительного целого числа — это произведение всех положительных целых чисел, меньших или равных ему, а факториал 0 равен 1.
👀 Предварительный просмотр
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
🎯 Задачи
В этом проекте вы научитесь:
- Создавать файл
factorial.pyв директории~/project - Реализовывать функцию
factorialдля вычисления факториала неотрицательного целого числа - Обрабатывать отрицательные входные данные, поднимая исключение
ValueErrorи отображая сообщение с просьбой "Пожалуйста, введите неотрицательное целое число"
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в концепции факториала и научиться вычислять его
- Написать функцию на Python для вычисления факториала неотрицательного целого числа
- Обрабатывать ошибки ввода и отображать соответствующие сообщения об ошибках
- Применить свои знания в программировании на Python для решения реальной задачи
Создайте файл factorial.py
В этом шаге вы создадите файл factorial.py в директории ~/project. Следуйте шагам ниже, чтобы выполнить этот шаг:
- Создайте новый файл и сохраните его под именем
factorial.pyв директории~/project.
cd ~/project
touch factorial.py
- В файле
factorial.pyдобавьте следующий код:
def factorial(n):
"""
Calculate the factorial of a non-negative integer.
Args:
n (int): The non-negative integer for which to calculate the factorial.
Returns:
str: The factorial of the input integer in the format "{n}! = {factors_str} = {result}".
Raises:
ValueError: If the input integer is negative.
"""
## Add your code here
Это начало функции factorial, которую вы реализуете на следующем шаге.
Реализуйте функцию факториала
В этом шаге вы реализуете функцию factorial в файле factorial.py. Следуйте шагам ниже, чтобы выполнить этот шаг:
- В файле
factorial.pyзамените комментарий## Add your code hereследующим кодом:
def factorial(n):
"""
Calculate the factorial of a non-negative integer.
Args:
n (int): The non-negative integer for which to calculate the factorial.
Returns:
str: The factorial of the input integer in the format "{n}! = {factors_str} = {result}".
Raises:
ValueError: If the input integer is negative.
"""
if n < 0:
raise ValueError("Please enter a non-negative integer.")
elif n == 0:
return "0! = 1"
else:
result = 1
factors = []
for i in range(1, n + 1):
result *= i
factors.append(str(i))
factors_str = " * ".join(factors)
return f"{n}! = {factors_str} = {result}"
## Partial example printout:
print(factorial(2))
print(factorial(8))
Этот код реализует функциональность вычисления факториала неотрицательного целого числа. Он обрабатывает случай отрицательного ввода, поднимая исключение ValueError, и случай 0, возвращая "0! = 1". Для всех других неотрицательных целых чисел он вычисляет факториал, умножая все числа от 1 до входного числа, и возвращает результат в нужном формате.
- Сохраните файл
factorial.py.
Ваш файл factorial.py теперь завершен, и вы можете использовать функцию factorial для вычисления факториала любого неотрицательного целого числа.
- Чтобы протестировать свою реализацию, выполните следующую команду в терминале:
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



