未使用python成功显示等级
我是python编程的初学者。我编写了一个计算学生分数的系统 一切正常,但我只显示了一次未使用python成功显示等级,python,Python,我是python编程的初学者。我编写了一个计算学生分数的系统 一切正常,但我只显示了一次fail。此外,如果平均值超过50,我还会收到一条fail消息。我不明白为什么。这是我的密码 from tkinter import * def Ok(): result = int(e1.get()) + int(e2.get()) + int(e3.get()) totText.set(result) average
fail
。此外,如果平均值超过50,我还会收到一条fail
消息。我不明白为什么。这是我的密码
from tkinter import *
def Ok():
result = int(e1.get()) + int(e2.get()) + int(e3.get())
totText.set(result)
average = result/3
avgText.set(average)
if (average > 50) :
grade = "pass"
else :
grade = "fail"
gradeText.set(grade)
root = Tk()
root.title("Calculator")
root.geometry("300x400")
global e1
global e2
global e3
global totText
global avgText
global gradeText
totText = StringVar()
avgText = StringVar()
gradeText = StringVar()
Label(root, text="Marks1").place(x=10, y=10)
Label(root, text="Marks2").place(x=10, y=40)
Label(root, text="Marks3").place(x=10, y=80)
Label(root, text="Total:").place(x=10, y=110)
Label(root, text="Avg:").place(x=10, y=140)
Label(root, text="Grade:").place(x=10, y=180)
e1 = Entry(root)
e1.place(x=100, y=10)
e2 = Entry(root)
e2.place(x=100, y=40)
e3 = Entry(root)
e3.place(x=100, y=80)
result = Label(root, text="", textvariable=totText).place(x=100, y=110)
avg = Label(root, text="", textvariable=avgText).place(x=100, y=140)
grade = Label(root, text="", textvariable=gradeText).place(x=100, y=180)
Button(root, text="Cal", command=Ok ,height = 1, width = 3).place(x=10, y=220)
marks1 = Entry(root)
marks2 = Entry(root)
marks3 = Entry(root)
root.mainloop()
设置代码格式,以便:
if (average > 50):
grade = "pass"
else:
grade = "fail"
gradeText.set(grade)
而不是:
if (average > 50):
grade = "pass"
else:
grade = "fail"
gradeText.set(grade)
正如您现在看到的,您在else条件之外设置了降级文本
编辑:
python中的格式代码非常重要(就像在其他语言中一样),请小心。python实施了强大的缩进系统。看看这个:
if (average > 50) :
grade = "pass"
else :
grade = "fail"
gradeText.set(grade)
这里的grade=“pass”
缩进太多。这也会导致跳过else
语句,可能会有一些警告。接下来要执行的指令是grade=“fail”
和gradeText.set(grade)
。请用正确的缩进检查代码
if (average > 50) :
grade = "pass"
else :
grade = "fail"
gradeText.set(grade)