Задачка: Вычисление факториала

Напишите функцию 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 и рекурсивно вычисляет его факториал. Для определения базы рекурсии используется тернарный оператор. Тесты проверяют правильность работы функции для различных входных данных.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *