Напишите функцию factorial()
, которая принимает на вход неотрицательное целое число n
и возвращает значение факториала этого числа. Факториал числа n обозначается как n!
и равен произведению всех положительных целых чисел от 1
до n
.
Напишите также тесты с использованием pytest
, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# factorial.py def factorial(n): return 1 if n == 0 else n * factorial(n - 1) # test_factorial.py import pytest from factorial import factorial def test_factorial_of_zero(): assert factorial(0) == 1 def test_factorial_of_positive_numbers(): assert factorial(1) == 1 assert factorial(2) == 2 assert factorial(3) == 6 assert factorial(4) == 24 assert factorial(5) == 120 def test_factorial_of_large_number(): assert factorial(10) == 3628800 assert factorial(15) == 1307674368000
В данной задаче функция factorial()
принимает на вход целое число n
и рекурсивно вычисляет его факториал. Для определения базы рекурсии используется тернарный оператор. Тесты проверяют правильность работы функции для различных входных данных.