需要创建一个程序,在PYTHON中计算测试分数的平均值并确定它们的字母等级

2024-09-29 21:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

首先我要说,我知道以前也有人问过类似的问题,我浏览过它们,但没有一个对我有帮助。我必须使用函数在python中创建这个程序。函数还是让我有点困惑。我在下面想出了这个。我不明白我哪里做错了。会非常有用的。谢谢所有人。在

def main():
    score1 = int(input('Enter grade 1: ')
    score2 = int(input('Enter grade 2: ')
    score3 = int(input('Enter grade 3: ')
    score4 = int(input('Enter grade 4: ')
    score5 = int(input('Enter grade 5: ')

    average = calc_average(score1, score2, score3, score4, score5)
    print('Your average score is ', average)               

    determine_grade(average)

def calc_average(score1,score2,score3,score4,score5):
    avscore = (score1 + score2 + score3 + score4 + score5)/5
    return avscore

def determine_grade():
    if avscore < 60:
        print('Average score:', avscore , 'F')
    elif score >=60 and <=69:
        print('Average score:', avscore , 'D')
    elif score >=70 and <=79:
        print('Average score:', avscore , 'C')
    elif score >=80 and <=89:
        print('Average score:', avscore , 'B')
    elif score >=90 and <=100:
        print('Average score:', avscore , 'A')
    else:
        print('Error: This is not a number inbetween 0 and 100.')
    return avscore

main()

Tags: andinputintgradescoreprintaverageenter
1条回答
网友
1楼 · 发布于 2024-09-29 21:25:56

好吧,在最前面你得1分,2分,。。。输入末尾缺少“)”。但是代码中有一些不同的东西被破坏了。除了语法和变量命名之外,阻止它工作的主要原因是determine_grade(average)行中,您试图将该函数传递给您的平均分数,但在定义该函数时没有任何参数。在

为此添加一个参数并修复elif语句(and <=69不起作用,因为您需要重述与之比较的内容,例如and score <=69或其他内容)

另外,还要注意变量的名称,因为在函数之间来回传递变量时可能会混淆。在determine_grade函数中,可以互换使用“avscore”和“score”。在

如果您修复了这些问题,代码运行良好。在

相关问题 更多 >

    热门问题