Python 3-分配成绩

时间:2016-04-11 20:31:30

标签: python python-3.x for-loop main

•定义一个功能,提示用户输入有效分数,直到他们输入标记值-999。使用此功能可以创建并返回这些分数的列表。不要在列表中存储-999! •让main()将列表传递给第二个函数,该函数遍历打印它们的分数列表及其适当的等级。

我遇到了getGrade函数的问题,它在成绩中给出了i的错误:name' grade'没有定义。

def main():
   grade = getScore()
   print(getGrade(grade))

def getScore():
   grades = []
   score = int(input("Enter grades (-999 ends): "))
   while score != -999:
      grades.append(score)
      score = int(input("Enter grades (-999 ends): "))
   return grades

def getGrade(score):
   best = 100
   for i in grades:
      if score >= best - 10:
         print(" is an A")
      elif score >=  best - 20:
         print(score, " is a B")
      elif score >= best - 30:
         print(score, " is a C")
      elif score >= best - 40:
         print(score, " is a D")
      else:
         print(score, "is a F")

main()

1 个答案:

答案 0 :(得分:2)

您将函数定义为getScore(),但是您正在调用getScores(),因此可能会出现错误,因为您调用的函数实际上并不存在/没有已定义。

附录 :由于您在修复上一个错误后更改了问题。

同样,您正在调用grades,但grades是在您尝试迭代{{}的函数范围内的其他函数而非中定义的。 1}}。