/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/python/lab-1124-028/main.py
44 строки
2 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
import tkinter as tk from tkinter import messagebox RATES = {"USD": 1.0, "EUR": 0.92, "RUB": 92.5} def convert(): try: amount = float(amount_var.getreplace(",", ".")) src = from_var.get() dst = to_var.get() result = amount * RATES[dst] / RATES[src] result_var.set(f"{result:.2f} {dst}") except ValueError: messagebox.showerror("Ошибка", "Введите корректную сумму") root = tk.Tk() root.title("Конвертер валют") root.resizable(False, False) frame = tk.Frame(root, padx=16, pady=16) frame.pack() amount_var = tk.StringVar(value="100") from_var = tk.StringVar(value="USD") to_var = tk.StringVar(value="RUB") tk.Label(frame, text="Сумма:").grid(row=0, column=0, sticky="w") tk.Entry(frame, textvariable=amount_var, width=12).grid(row=0, column=1, padx=(8, 0)) tk.Label(frame, text="Из:").grid(row=1, column=0, sticky="w", pady=(8, 0)) from_menu = tk.OptionMenu(frame, from_var, *RATES.keys()) from_menu.grid(row=1, column=1, sticky="w", padx=(8, 0), pady=(8, 0)) tk.Label(frame, text="В:").grid(row=2, column=0, sticky="w", pady=(8, 0)) to_menu = tk.OptionMenu(frame, to_var, *RATES.keys()) to_menu.grid(row=2, column=1, sticky="w", padx=(8, 0), pady=(8, 0)) result_var = tk.StringVar(value="—") tk.Label(frame, textvariable=result_var, font=("Segoe UI", 12)).grid( row=3, column=0, columnspan=2, pady=(12, 0) ) tk.Button(frame, text="Конвертировать", command=convert).grid(row=4, column=0, columnspan=2, pady=(12, 0)) root.mainloop()