如何解决此“ NameError”?

鲍比
def Get_Details():
    Student_Name = input("Enter the name of the student: ")
    Coursework_Mark = int(input("Enter the coursework mark achieved by the student: "))
    while Coursework_Mark < 0 or Coursework_Mark >60:
        print("Try again, remember the coursework mark is out of 60.")
        Coursework_Mark = int(input("Enter the coursework mark achieved by the student: "))

    Prelim_Mark = int(input("Enter the prelim mark achieved by the student: "))
    while Prelim_Mark < 0 or Prelim_Mark > 90:
        print("Try again, remember the prelim mark is out of 90.")
        Prelim_Mark = int(input("Enter the prelim mark achieved by the student: "))

    return Student_Name, Coursework_Mark, Prelim_Mark

def Calculate_Percentage(Coursework_Mark, Prelim_Mark):

    Percentage = ((Coursework_Mark + Prelim_Mark)/150) * 100

    if Percentage >= 70:
        Grade = "A"
    elif 60 >= Percentage <= 69:
        Grade = "B"
    elif 50 >= Percentage <= 59:
        Grade = "C"
    elif 45 >= Percentage <= 50:
        Grade = "D"
    else:
        Grade = "No Award"

    return Percentage, Grade


def Display_Results(Student_Name, Grade):
    print(Student_Name + " achieved a grade " + str(Grade) + ".")

#MAIN PROGRAM
Student_Name, Coursework_Mark, Prelim_Mark = Get_Details()
Percentage = Calculate_Percentage(Coursework_Mark, Prelim_Mark)
Display_Results(Student_Name, Grade)

在程序结束时,我收到:

Program.py", line 41, in <module>
    Display_Results(Student_Name, Grade)
NameError: name 'Grade' is not defined

如何解决?请帮忙,谢谢。

该程序向用户询问他们的姓名,作业成绩(满分60分)和初步成绩(满分90分),并计算出他们的百分比,并将其百分比作为分数与他们的名字一起发送到他们的屏幕上。

副总裁

函数Calculate_Percentage返回两个值,百分比和等级。似乎您想将它们分配给一个单独的变量,就像在上一行的Get_Details调用中使用三个值一样。

因此,最后两行应如下所示:

Percentage, Grade = Calculate_Percentage(Coursework_Mark, Prelim_Mark)
Display_Results(Student_Name, Grade)

请使用Pythonic命名约定使您的代码更具可读性。例如,变量名通常为all_lower_case。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章