Top.Mail.Ru
Ответы

Пайто помогите исправить ошибку в коде

Import tkinter as tk import random class BurgerMakerApp: def __init__(self, master): self.master = master self.master.title("Burger Maker") self.canvas = tk.Canvas(self.master, width=300, height=400, bg="white") self.canvas.pack() # Кнопки для добавления элементов self.button_frame = tk.Frame(self.master) self.button_frame.pack() self.add_bottom_bun_button = tk.Button(self.button_frame, text="Добавить нижнюю булочку", command=self.add_bottom_bun) self.add_bottom_bun_button.grid(row=0, column=0) self.add_patty_button = tk.Button(self.button_frame, text="Добавить мясо", command=self.add_patty) self.add_patty_button.grid(row=0, column=1) self.add_lettuce_button = tk.Button(self.button_frame, text="Добавить салат", command=self.add_lettuce) self.add_lettuce_button.grid(row=0, column=2) self.add_top_bun_button = tk.Button(self.button_frame, text="Добавить верхнюю булочку", command=self.add_top_bun) self.add_top_bun_button.grid(row=0, column=3) self.finalize_order_button = tk.Button(self.button_frame, text="Заказ готов", command=self.finalize_order) self.finalize_order_button.grid(row=0, column=4) def add_bottom_bun(self): self.bottom_bun = self.canvas.create_oval(75, 350, 225, 370, fill="yellow") def add_patty(self): if hasattr(self, 'bottom_bun'): self.patty = self.canvas.create_oval(100, 320, 200, 350, fill="red") def add_lettuce(self): if hasattr(self, 'patty'): self.lettuce = self.canvas.create_rectangle(110, 290, 190, 320, fill="green") def add_top_bun(self): if hasattr(self, 'lettuce'): http://self.top _bun = self.canvas.create_oval(75, 250, 225, 270, fill="brown") def finalize_order(self): if hasattr(self, 'top_bun'): self.canvas.create_oval(110, 230, 190, 250, fill="yellow") # Верхняя булочка self.canvas.create_oval(130, 240, 150, 260, fill="white") # Белые точки на верхней булочке self.canvas.create_text(150, 20, text="Ваш бургер готов!", font=("Arial", 16)) if __name__ == "__main__": root = http://tk.Tk () app = BurgerMakerApp(root) root.mainloop()
Этот код не выдаёт не каких ошибок просто не открывается окно где всё просиходит помогите найти ошибку

По дате
По Рейтингу
Аватар пользователя
Знаток
10мес

1. Конструктор класса должен называться __init__, а не init.
2. В функции add_top_bun есть лишний символ http:// перед self.top _bun.
3. В конце кода условие проверки имени модуля должно быть if __name__ == "__main__":, а не if name == "main":.
4. Также нужно убедиться, что вы правильно создаете экземпляр класса BurgerMakerApp.

Вот исправленный код:

import tkinter as tk
import random

class BurgerMakerApp:
def __init__(self, master): # Исправлено на __init__
self.master = master
self.master.title("Burger Maker")
self.canvas = tk.Canvas(self.master, width=300, height=400, bg="white")
self.canvas.pack()

# Кнопки для добавления элементов
self.button_frame = tk.Frame(self.master)
self.button_frame.pack()
self.add_bottom_bun_button = tk.Button(self.button_frame, text="Добавить нижнюю булочку", command=self.add_bottom_bun)
self.add_bottom_bun_button.grid(row=0, column=0)
self.add_patty_button = tk.Button(self.button_frame, text="Добавить мясо", command=self.add_patty)
self.add_patty_button.grid(row=0, column=1)
self.add_lettuce_button = tk.Button(self.button_frame, text="Добавить салат", command=self.add_lettuce)
self.add_lettuce_button.grid(row=0, column=2)
self.add_top_bun_button = tk.Button(self.button_frame, text="Добавить верхнюю булочку", command=self.add_top_bun)
self.add_top_bun_button.grid(row=0, column=3)
self.finalize_order_button = tk.Button(self.button_frame, text="Заказ готов", command=self.finalize_order)
self.finalize_order_button.grid(row=0, column=4)

def add_bottom_bun(self):
self.bottom_bun = self.canvas.create_oval(75, 350, 225, 370, fill="yellow")

def add_patty(self):
if hasattr(self, 'bottom_bun'):
self.patty = self.canvas.create_oval(100, 320, 200, 350, fill="red")

def add_lettuce(self):
if hasattr(self, 'patty'):
self.lettuce = self.canvas.create_rectangle(110, 290, 190, 320, fill="green")

def add_top_bun(self):
if hasattr(self, 'lettuce'):
self.top _bun = self.canvas.create_oval(75, 250, 225, 270, fill="brown") # Исправлено

def finalize_order(self):
if hasattr(self, 'top_bun'):
self.canvas.create_oval(110, 230, 190, 250, fill="yellow") # Верхняя булочка
self.canvas.create_oval(130, 240, 150, 260, fill="white") # Белые точки на верхней булочке
self.canvas.create_text(150, 20, text="Ваш бургер готов!", font=("Arial", 16))

if __name__ == "__main__": # Исправлено на __name__ == "__main__"
root = tk.Tk () # Исправлено на tk.Tk ()
app = BurgerMakerApp(root)
root.mainloop()

Аватар пользователя
Просветленный
10мес

Ты его запусти в консоле cmd и посмотри ошибки