Module calculate_discount.calc

Модуль бизнес-логики для расчёта скидок.

Содержит основные функции для вычисления итоговой цены с учётом скидки, а также вспомогательные функции для валидации данных.

Functions

def calculate_discount(amount, discount_percent)
Expand source code
def calculate_discount(amount, discount_percent):
    """Рассчитывает итоговую сумму после применения скидки.

    Args:
        amount: Сумма покупки (должна быть неотрицательной).
        discount_percent: Процент скидки (должен быть в диапазоне от 0 до 100).

    Returns:
        Итоговая сумма после вычитания скидки.

    Raises:
        ValueError: Если сумма отрицательная или процент скидки выходит за пределы [0, 100].
    """
    if amount < 0:
        raise ValueError("Сумма не может быть отрицательной")
    if discount_percent < 0 or discount_percent > 100:
        raise ValueError("Процент скидки должен быть от 0 до 100")
    discount_amount = amount * (discount_percent / 100)
    final_price = amount - discount_amount
    return final_price

Рассчитывает итоговую сумму после применения скидки.

Args

amount
Сумма покупки (должна быть неотрицательной).
discount_percent
Процент скидки (должен быть в диапазоне от 0 до 100).

Returns

Итоговая сумма после вычитания скидки.

Raises

ValueError
Если сумма отрицательная или процент скидки выходит за пределы [0, 100].