import tkinter as tk
from tkinter import messagebox
def calculate_payment():
try:
# Получаем данные от пользователя
principal = float(entry_principal.get())
annual_rate = float(entry_rate.get())
years = int(entry_years.get())
# Преобразуем годовою ставку в месячную и вычисляем количество платежей
monthly_rate = annual_rate / 100 / 12
num_payments = years * 12
# Формула для вычисления ежемесячного платежа
if monthly_rate > 0:
payment = principal * (monthly_rate * (1 + monthly_rate) ** num_payments) / ((1 + monthly_rate) ** num_payments - 1)
else:
payment = principal / num_payments
# Вывод результата
messagebox.showinfo("Результат", f"Ежемесячный платеж: {payment:.2f} руб.")
except ValueError:
messagebox.showerror("Ошибка", "Пожалуйста, введите корректные значения.")
# Создание основного окна
root = tk.Tk()
root.title("Кредитный калькулятор")
# Создание виджетов
label_principal = tk.Label(root, text="Сумма кредита (руб.):")
label_principal.pack()
entry_principal = tk.Entry(root)
entry_principal.pack()
label_rate = tk.Label(root, text="Годовая процентная ставка (%):")
label_rate.pack()
entry_rate = tk.Entry(root)
entry_rate.pack()
label_years = tk.Label(root, text="Срок кредита (лет):")
label_years.pack()
entry_years = tk.Entry(root)
entry_years.pack()
button_calculate = tk.Button(root, text="Рассчитать", command=calculate_payment)
button_calculate.pack()
# Запуск основного цикла приложения
root.mainloop()