Python tkinter计算学生状态

2024-10-04 05:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个python Tkinter作业,其中一个输入框接受用户输入,然后显示GPA和学生状态。我很确定我的设置是错误的,我正在寻找关于如何使用If语句来确定学生身份的建议。是否所有内容都属于getStudentStatus函数,还是最好有两个函数

import math
from tkinter import *

#calculate student status
def getStudentStatus():
data = float(inputGPA.get())
floatedGPA = (data)
#Print student status
label2 = Label(GPA, text = 'Your GPA is:' ' %.2f' %     floatedGPA).grid(row = 3, column = 0)
label3 = Label(GPA, getStanding).grid(row = 4, column = 0)
return

def getStanding():
#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)

#submit button
button1 = Button(GPA, text="Submit", command=getStudentStatus).grid(row = 2, column = 0)

GPA.mainloop()

Tags: 函数textdatareturniscolumnthisstudent
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:48

为了避免每次按下按钮时都会创建一个新标签,可以在函数外部创建一个空标签

要将标签对象指定给变量,请拆分创建和放置

在函数中,您可以配置标签并添加所需的输出

此外,还需要将浮点传递给第二个函数,以便比较运算符具有要比较的值

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()

相关问题 更多 >