有没有一种方法可以将平均分数输入成绩函数而不出现错误

问题描述 投票:0回答:1

我正在重新学习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

python function error-handling instance
1个回答
0
投票

主要问题是您没有正确地将平均分数传递给

grades
函数。您需要使用
grades
函数的结果调用
getAvg
函数,例如:

avg = getAvg()
grades(avg)
© www.soinside.com 2019 - 2024. All rights reserved.