Module pay_calculator.calc
Функциональная часть проекта.
Модуль содержит бизнес-логику для расчета скидок и валидации входных данных.
Functions
def apply_special_discount(price)-
Expand source code
def apply_special_discount(price): """Применяет специальную скидку к цене. В текущей реализации функция является заглушкой и возвращает исходную цену без изменений. Предназначена для будущего расширения функционала. Args: price (float): Исходная цена товара. Returns: float: Цена после применения специальной скидки (currently equals to input). """ return priceПрименяет специальную скидку к цене.
В текущей реализации функция является заглушкой и возвращает исходную цену без изменений. Предназначена для будущего расширения функционала.
Args
price:float- Исходная цена товара.
Returns
float- Цена после применения специальной скидки (currently equals to input).
def calculate_discount(amount, discount_percent)-
Expand source code
def calculate_discount(amount, discount_percent): """Рассчитывает итоговую сумму после применения скидки. Args: amount (float): Исходная сумма покупки. Должна быть неотрицательной. discount_percent (float): Процент скидки. Должен быть в диапазоне от 0 до 100. Returns: float: Итоговая сумма после вычета скидки. Raises: ValueError: Если сумма покупки отрицательная или процент скидки выходит за пределы диапазона [0, 100]. Example: >>> calculate_discount(1000, 10) 900.0 """ 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:float- Исходная сумма покупки. Должна быть неотрицательной.
discount_percent:float- Процент скидки. Должен быть в диапазоне от 0 до 100.
Returns
float- Итоговая сумма после вычета скидки.
Raises
ValueError- Если сумма покупки отрицательная или процент скидки выходит за пределы диапазона [0, 100].
Example
>>> calculate_discount(1000, 10) 900.0 def validate_input(val)-
Expand source code
def validate_input(val): """Проверяет, можно ли преобразовать входное значение в число с плавающей точкой. Args: val (str): Строковое представление значения для проверки. Returns: bool: True, если значение может быть преобразовано в float, иначе False. """ try: float(val) return True except ValueError: return FalseПроверяет, можно ли преобразовать входное значение в число с плавающей точкой.
Args
val:str- Строковое представление значения для проверки.
Returns
bool- True, если значение может быть преобразовано в float, иначе False.