Рецепт дня. #Пица



Картинку ещё раз скину в комменты.
=
import tkinter as tk
from tkinter import messagebox
def calculate():
try:
flour = float(entry_flour.get())
# Список ингредиентов: (поле_ввода, метка_результата)
items = [
(entry_water, label_water, float(entry_water.get())/100),
(entry_curd, label_curd, float(entry_curd.get())/100),
(entry_lard, label_lard, float(entry_lard.get())/100),
(entry_onion, label_onion, float(entry_onion.get())/100),
]
total_weight = flour
for entry, label, pct in items:
weight = flour * pct
label.config(text=f"{int(weight)} г")
total_weight += weight
label_total.config(text=f"ОБЩИЙ ВЕС: {int(total_weight)} г")
return total_weight
except ValueError:
messagebox.showerror("Ошибка", "Введите корректные числа!")
def save_recipe():
with open("recipe.txt", "w", encoding="utf-8") as f:
f.write(f"Мука: {entry_flour.get()}г\n")
f.write(f"Вода: {label_water.cget('text')}\n")
f.write(f"Творог: {label_curd.cget('text')}\n")
f.write(f"Сало: {label_lard.cget('text')}\n")
f.write(f"Лук: {label_onion.cget('text')}\n")
f.write(f"{label_total.cget('text')}")
messagebox.showinfo("Готово", "Рецепт сохранен в recipe.txt")
root = tk.Tk()
root.title("Пицца-мастер: Таблица")
root.geometry("400x350")
# Заголовки
tk.Label(root, text="Ингредиент").grid(row=0, column=0)
tk.Label(root, text="% от муки").grid(row=0, column=1)
tk.Label(root, text="Граммы").grid(row=0, column=2)
# Ввод веса муки
tk.Label(root, text="Вес муки (г):").grid(row=1, column=0)
entry_flour = tk.Entry(root, width=10); entry_flour.insert(0, "500"); entry_flour.grid(row=1, column=1)
# Строки ингредиентов
rows = [("Вода:", "60"), ("Творог:", "20"), ("Сало:", "10"), ("Лук:", "10")]
entries, labels = [], []
for i, (name, val) in enumerate(rows, 2):
tk.Label(root, text=name).grid(row=i, column=0)
e = tk.Entry(root, width=10); e.insert(0, val); e.grid(row=i, column=1)
l = tk.Label(root, text="0 г", font=("Arial", 10, "bold")); l.grid(row=i, column=2)
entries.append(e); labels.append(l)
entry_water, entry_curd, entry_lard, entry_onion = entries
label_water, label_curd, label_lard, label_onion = labels
tk.Button(root, text="Рассчитать", command=calculate).grid(row=7, column=0, columnspan=3, pady=10)
label_total = tk.Label(root, text="ОБЩИЙ ВЕС: 0 г", font=("Arial", 12, "bold"))
label_total.grid(row=8, column=0, columnspan=3)
tk.Button(root, text="Сохранить рецепт", command=save_recipe, bg="lightgreen").grid(row=9, column=0, columnspan=3)
root.mainloop()
https://gemini.google.com/app/ab98a59f4875ad6f










