我正在重新学习Python,我决定制作一个学生成绩分析器程序,您可以在其中输入成绩,然后它会获取所有成绩的平均值,然后转到我制作的成绩函数并检查成绩。
# Define Grades
def grades(score) :
if score >= 90 and score <= 100:
print('A')
elif score >= 80 and score <= 89:
print('B')
elif score >= 70 and score <= 79:
print('C')
elif score >= 60 and score <= 69:
print('D')
else:
print('F')
def getAvg():
grades_input = input('Type in your grades no commas ')
grade_list = grades_input.split()
scores = []
i = 0
for grade in grade_list:
if ( i < len(grade_list)):
scores.append(int(grade))
avg = lambda x: sum(scores) / len(scores)
return avg(scores)
getAvg()
grades(getAvg)
我尝试将 get avg 函数放入
grades()
中,当我调用它时,我尝试将分数放入grades
中,什么都没有,getAvg()
函数工作完全正常,并为它没有使用Ai而感到自豪,但我的解释是用户输入成绩,假设成绩为44 53 22 30
,假设平均值为78
,就像它会返回到成绩函数并打印出“C”
主要问题是您没有正确地将平均分数传递给
grades
函数。您需要使用 grades
函数的结果调用 getAvg
函数,例如:
avg = getAvg()
grades(avg)