需要创建一个在PYTHON中获取测试分数平均值并确定其字母等级的程序

时间:2016-11-11 02:37:01

标签: python function python-3.x syntax python-3.4

让我首先说我知道之前已经问过类似的问题,我浏览了它们,但没有一个对我有帮助。我必须使用函数在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()

1 个答案:

答案 0 :(得分:0)

在最上方你的得分1,得分2,...输入缺少一个&#34;)&#34;在末尾。但是代码中有一些不同的东西。除了语法和变量命名之外,阻止其工作的主要因素是行determine_grade(average),您尝试将该函数传递给您的平均分数,但在定义该函数时,您不会对该函数有任何参数

为其添加一个参数并修复elif语句(and <=69不起作用,因为您需要重新说明您要比较的内容,即and score <=69或其他内容

还要注意你所谓的变量,因为在函数之间来回传递它们会让人感到困惑。在您的determine_grade函数中,您正在使用&#34; avscore&#34;和&#34;得分&#34;互换。

如果您修复了这些问题,代码运行正常。