Чтобы избежать создания новой метки при каждом нажатии кнопки, вы можете создать пустую метку вне функции.
Чтобы назначить объект метки для переменной, разделите создание и размещение.
В функции вы можете настроить метку и добавить требуемый вывод.
Кроме того, вам нужно передать значение с плавающей точкой во вторую функцию, чтобы у операторов сравнения было значение для сравнения.
import math
from tkinter import *
#calculate student status
def getStudentStatus():
data = float(inputGPA.get())
floatedGPA = (data)
#Print student status
label2.configure(text = 'Your GPA is:' ' %.2f' % floatedGPA)
label3.configure(text = getStanding(floatedGPA))
def getStanding(data):
#Get academic Status
if(data>=3.5):
return("This student is on the Deans List")
elif(data>=2.0):
return("This student is on Acedmic Probation")
else:
return("This student has Regular Standing")
#define window
GPA = Tk()
GPA.title("GPA Tool")
GPA.geometry("200x200")
#define variables
inputGPA = StringVar()
#label for text box
label1 = Label(GPA, text="Enter your GPA: ").grid(row = 0, column = 0)
#entry text box
entry1 = Entry(GPA, textvariable = inputGPA).grid(row = 1, column = 0)
# create empty labels
label2 = Label(GPA, text = '')
label3 = Label(GPA, text='')
# place empty labels
label2.grid(row = 3, column = 0)
label3.grid(row = 4, column = 0)
#submit button
button1 = Button(GPA, text="Submit", command=getStudentStatus).grid(row = 2, column = 0)
GPA.mainloop()