У меня есть этот код прямо здесь, он о приложении GUI с Tkinter, довольно простом, но есть одна ошибка, которую я не могу решить, не нарушая код:
import tkinter as tk
class Sistema:
def __init__(self, g1 = 0, g2 = 0, g3 = 0, g4 = 0, media = 6):
self.g1 = g1
self.g2 = g2
self.g3 = g3
self.g4 = g4
self.media = media
resultCalc = (self.g1 + self.g2 + self.g3 + self.g4) / 4
self.resultCalc = resultCalc
Label_reply['text'] = Sistema.__str__()
def __str__(self):
if self.resultCalc < self.media:
return "Você não passou de ano! ╰(‵□′)╯"
elif self.resultCalc > self.media:
return "Você passou de ano!(~ ̄▽ ̄)~"
elif self.resultCalc == self.media:
return "Você passou de ano! Essa foi por pouco (。_。)"
else:
return "Erro fatal (╬▔皿▔)╯"
root = tk.Tk()
canvas = tk.Canvas(root, bg = "#159BA0", height = 500, width = 500)
canvas.pack()
Label1 = tk.Label(canvas, text = "Digite sua nota:")
Label1.place(x = 10,y = 10)
Entry1 = tk.Entry(canvas)
Entry1.place(x = 100,y = 10)
Label2 = tk.Label(canvas, text = "Digite sua nota:")
Label2.place(x = 10,y = 50)
Entry2 = tk.Entry(canvas)
Entry2.place(x = 100,y = 50)
Label3 = tk.Label(canvas, text = "Digite sua nota:")
Label3.place(x = 10, y = 90)
Entry3 = tk.Entry(canvas)
Entry3.place(x = 100, y = 90)
Label4 = tk.Label(canvas, text = "Digite sua nota:" )
Label4.place(x = 10, y = 130)
Entry4 = tk.Entry(canvas)
Entry4.place(x = 100, y = 130)
Label5 = tk.Label(canvas, text = "Média mínima: ")
Label5.place(x=10, y = 170)
Entry5 = tk.Entry(canvas)
Entry5.place(x=100, y = 170)
Button1 = tk.Button(canvas, text = "Enviar",
command = lambda : Sistema(float(Entry1.get()), float(Entry2.get()), float(Entry3.get()), float(Entry4.get()),
float(Entry5.get())))
Button1.place(x = 10, y = 210)
Label_reply = tk.Label(canvas)
Label_reply.place(x = 10, y = 240)
root.mainloop()
Но, когда я запускаю его, возникает это исключение:
TypeError: __str__() missing 1 required positional argument: 'self'
Ошибка находится в строке 15. Я знаю, что это означает и почему это происходит, но я не могу найти способ решить эту проблему, не испортив код, может ли кто-нибудь мне помочь?