/
RusSold
/
First-project
Обзор
Документация
Войти
/
RusSold
/
First-project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
Discount Store.py
65 строк
2 KB
maklorenecolog-spec
added solution for Task 4 Discount Store
25 июл 2026, 19:57
25 июл 2026, 19:57
d083e1b
Код
Авторство
О чём код?
import Module_VerificationFunctions as ver_number def show_error_input(number, types_numbers_list): if not ver_number.complex_check_number(number, types_numbers_list): print("Вы ввели неправильное число!") return False else: return True def calculate_discounts(preliminary_sum, quantity, has_discount_card): result = {} current_sum = preliminary_sum if quantity > 5: discount = round(preliminary_sum * 0.1, 2) result["скидка за количество"] = discount current_sum = current_sum - discount if has_discount_card: discount = round(current_sum * 0.05, 2) result["скидка за карту"] = discount current_sum = current_sum - discount return result price = input("Введите цену товара: ") proceed = True if ver_number.is_integer_number(price): types_numbers = ["natural", "integer"] else: types_numbers = ["not zero", "rational"] if show_error_input(price, types_numbers): price = float(price) else: proceed = False if proceed: quantity = input("Введите количество товара: ") if show_error_input(quantity, ["natural", "integer"]): quantity = int(quantity) else: proceed = False if proceed: has_discount_card = input("У Вас есть скидочная карта (да/нет)? ").strip().lower() if has_discount_card == "да": has_discount_card = True elif has_discount_card == "нет": has_discount_card = False else: print("Вы ввели неправильный ответ! (только 'да' или 'нет')") proceed = False has_discount_card = False if proceed: preliminary_sum = round(price * quantity, 2) final_discounts = calculate_discounts(preliminary_sum, quantity, has_discount_card) final_value_discount = 0 text_discounts = "" for discount in final_discounts: text_discounts += discount + " = " + str(final_discounts[discount]) + "\n" final_value_discount += final_discounts[discount] final_sum = round(preliminary_sum - final_value_discount, 2) print(f"Сумма без скидки = {preliminary_sum}\nCкидки: \n{text_discounts}Итоговая цена: {final_sum}")