Module calculate_discount.main

Модуль графического интерфейса для калькулятора скидок.

Реализует пользовательский интерфейс на базе библиотеки Tkinter. Позволяет ввести сумму покупки и процент скидки, после чего отображает итоговую стоимость с учётом скидки.

Functions

def main()
Expand source code
def main():
    """Главная функция приложения.

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

    Returns:
        None
    """
    root = tk.Tk()
    root.title("СкидкаКалькулятор v1")
    root.geometry("400x300")

    tk.Label(root, text="Сумма покупки:").pack(pady=5)
    amount_entry = tk.Entry(root)
    amount_entry.pack(pady=5)

    tk.Label(root, text="Процент скидки:").pack(pady=5)
    discount_entry = tk.Entry(root)
    discount_entry.pack(pady=5)

    result_label = tk.Label(root, text="Результат: ", fg="blue")
    result_label.pack(pady=10)

    def calc_and_show():
        try:
            amt = float(amount_entry.get())
            dsc = float(discount_entry.get())
            if amt < 0 or dsc < 0 or dsc > 100:
                messagebox.showerror("Ошибка", "Некорректные данные!")
                return
            res = calculate_discount(amt, dsc)
            result_label.config(text=f"Результат: {res:.2f} руб.")
        except ValueError:
            messagebox.showerror("Ошибка", "Вводите числа!")

    calc_btn = tk.Button(root, text="Посчитать скидку", command=calc_and_show)
    calc_btn.pack(pady=10)

    exit_btn = tk.Button(root, text="Выход", command=sys.exit)
    exit_btn.pack(pady=5)

    root.mainloop()

Главная функция приложения.

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

Returns

None