Python 3- 分配成绩
Python 3- assigns grades
• 定义一个函数来提示用户输入有效分数,直到他们输入标记值 -999。让这个函数同时创建和 return 这些分数的列表。不要在列表中存储 -999!
• 让 main( ) 然后将此列表传递给第二个函数,该函数遍历分数列表并打印它们及其相应的等级。
我在使用 getGrade 函数时遇到问题,它给出了 i in grades 的错误:名称 'grades' 未定义。
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()
您将函数定义为 getScore()
,但您正在调用 getScores()
,因此正如预期的那样,这会引发错误,因为您正在调用的函数实际上并不存在/不存在'已定义。
附录: 因为你修改了你的问题,修正了之前的错误。
同样,您正在调用 grades
,但 grades
是在您尝试的函数范围内的其他函数中定义的 而不是 遍历 grades
.
• 定义一个函数来提示用户输入有效分数,直到他们输入标记值 -999。让这个函数同时创建和 return 这些分数的列表。不要在列表中存储 -999! • 让 main( ) 然后将此列表传递给第二个函数,该函数遍历分数列表并打印它们及其相应的等级。
我在使用 getGrade 函数时遇到问题,它给出了 i in grades 的错误:名称 'grades' 未定义。
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()
您将函数定义为 getScore()
,但您正在调用 getScores()
,因此正如预期的那样,这会引发错误,因为您正在调用的函数实际上并不存在/不存在'已定义。
附录: 因为你修改了你的问题,修正了之前的错误。
同样,您正在调用 grades
,但 grades
是在您尝试的函数范围内的其他函数中定义的 而不是 遍历 grades
.