おはようございます。
問題文読ませていただきました。
こんな感じでいかがでしょうか?
python
1
2import tkinter
3
4class Application(tkinter.Frame):
5    # entry Widgetを表す変数
6    txt = None
7    txt2 = None
8    txt3 = None
9
10    # エラーメッセージを表す変数
11    errMsg = None
12
13    # 重解の計算を行い、結果をlabel Widgetへ格納する関数
14    def calcInputData(self, txt, txt2, txt3):
15        res = int(txt2) ** 2 - 4 * int(txt) * int(txt3)
16
17        if res == 0:
18            self.errMsg.set("重解です")
19        elif res > 0:
20            self.errMsg.set("二つの実数解があります")
21        elif res < 0:
22            self.errMsg.set("解がありません")
23        else:
24            self.errMsg.set("エラー")
25
26    def check(self):
27        # entry Widgetの入力値を取得する。
28        txt = self.txt.get()
29        txt2 = self.txt2.get()
30        txt3 = self.txt3.get()
31
32        # 参考 : https://note.nkmk.me/python-str-num-determine/
33        # 文字列が十進数字か判定を行う。
34        if not txt.isdecimal() or not txt2.isdecimal() or not txt3.isdecimal():
35            self.errMsg.set("数字を入れてください")
36        else:
37            self.calcInputData(txt, txt2, txt3)
38
39    def __init__(self, master=None):
40        # Windowの初期設定を行う。
41        super().__init__(master)
42
43        # Windowの画面サイズを設定する。
44        # geometryについて : https://kuroro.blog/python/rozH3S2CYE0a0nB3s2QL/
45        self.master.geometry('250x250')
46
47        # Windowを親要素として、frame Widget(Frame)を作成する。
48        # Frameについて : https://kuroro.blog/python/P20XOidA5nh583fYRvxf/
49        frame = tkinter.Frame(self.master)
50        # Windowを親要素とした場合に、frame Widget(Frame)をどのように配置するのか?
51        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
52        frame.grid()
53
54        # frame Widget(Frame)を親要素として、label Widgetを作成する。
55        # text : テキスト情報
56        # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/
57        lbl0 = tkinter.Label(frame, text='ax^2 + bx + c = 0')
58        # frame Widget(Frame)を親要素とした場合に、label Widgetをどのように配置するのか?
59        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
60        lbl0.grid(row=0, columnspan=2)
61
62        # label用の文字列変数を用意する。
63        # StringVar()について : https://kuroro.blog/python/K53voPjJuKFfYrjmP8FP/
64        self.errMsg = tkinter.StringVar()
65        self.errMsg.set("数字を入力してください")
66        # frame Widget(Frame)を親要素として、label Widgetを作成する。
67        # textvariable : labelに格納される値を、変数で管理するための設定
68        # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/
69        b = tkinter.Label(frame, textvariable=self.errMsg)
70        # frame Widget(Frame)を親要素とした場合に、label Widgetをどのように配置するのか?
71        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
72        b.grid(row=1, columnspan=2)
73
74        # frame Widget(Frame)を親要素として、label Widgetを作成する。
75        # text : テキスト情報
76        # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/
77        lbl = tkinter.Label(frame, text='a=')
78        # frame Widget(Frame)を親要素とした場合に、label Widgetをどのように配置するのか?
79        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
80        lbl.grid(row=2, column=0)
81
82        # frame Widget(Frame)を親要素として、entry Widgetを作成する。
83        # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/
84        self.txt = tkinter.Entry(frame)
85        # frame Widget(Frame)を親要素とした場合に、entry Widgetをどのように配置するのか?
86        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
87        self.txt.grid(row=2, column=1)
88
89        # frame Widget(Frame)を親要素として、label Widgetを作成する。
90        # text : テキスト情報
91        # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/
92        lbl2 = tkinter.Label(frame, text='b=')
93        # frame Widget(Frame)を親要素とした場合に、label Widgetをどのように配置するのか?
94        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
95        lbl2.grid(row=3, column=0)
96
97        # frame Widget(Frame)を親要素として、entry Widgetを作成する。
98        # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/
99        self.txt2 = tkinter.Entry(frame)
100        # frame Widget(Frame)を親要素とした場合に、entry Widgetをどのように配置するのか?
101        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
102        self.txt2.grid(row=3, column=1)
103
104        # frame Widget(Frame)を親要素として、label Widgetを作成する。
105        # text : テキスト情報
106        # Labelについて : https://kuroro.blog/python/Pj4Z7JBNRvcHZvtFqiKD/
107        lbl3 = tkinter.Label(frame, text='c=')
108        # frame Widget(Frame)を親要素とした場合に、label Widgetをどのように配置するのか?
109        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
110        lbl3.grid(row=4, column=0)
111
112        # frame Widget(Frame)を親要素として、entry Widgetを作成する。
113        # Entryについて : https://kuroro.blog/python/PUZp77YFxrXvMCjpZbUg/
114        self.txt3 = tkinter.Entry(frame)
115        # frame Widget(Frame)を親要素とした場合に、entry Widgetをどのように配置するのか?
116        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
117        self.txt3.grid(row=4, column=1)
118
119        # frame Widget(Frame)を親要素として、button Widgetを作成する。
120        # text : テキスト情報
121        # command : ボタンをクリックした時に、実行する関数を設定。self.checkとする。
122        # Buttonについて : https://kuroro.blog/python/oFju6EngDtcYtIiMIDf1/
123        btn = tkinter.Button(frame, text="判別", command=self.check)
124        # frame Widget(Frame)を親要素とした場合に、button Widgetをどのように配置するのか?
125        # gridについて : https://kuroro.blog/python/JoaowDiUdLAOj3cSBxiX/
126        btn.grid(row=5, columnspan=2)
127
128if __name__ == "__main__":
129    root = tkinter.Tk()
130
131    app = Application(master=root)
132    # Windowをループさせて、継続的にWindow表示させる。
133    # mainloopについて : https://kuroro.blog/python/DmJdUb50oAhmBteRa4fi/
134    app.mainloop()
135
ご確認のほど、よろしくお願いいたします。????♂️
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。