我正在制作一个python 3程序,以通过3次考试计算平均分数和最终成绩(A,B,C,D,F)。每次“您的成绩”输出为F。无论您的考试成绩是多少,成绩输出始终为F。有什么问题吗?
firstexam=0
secondexam=0
thirdexam=0
grade=0
finalgradeABC=0
firstexam = int(input('Enter your first exam: '))
secondexam = int(input('Enter your second exam: '))
thirdexam = int(input('Enter your third exam: '))
allthree =(firstexam + secondexam + thirdexam)
def average(allthree):
return allthree/3
def yourgrade(avg):
if 90 <= avg <= 100:
return 'A'
elif 80 <= avg <= 89:
return 'B'
elif 70 <= avg <= 79:
return 'C'
elif 60 <= grade <= 69:
return 'D'
else:
return 'F'
grades = allthree
finalgradeABC = yourgrade(grades)
avg = average(allthree)
print("Average grade is : " + str(avg))
print("You grade : " + str(finalgradeABC))
您的陈述不正确。如果您输入3的33分,您将得到'A'。
我假设您希望字母等级为平均等级。如果真是这样,那么您应该在计算平均值后在yourgrade()
上调用avg
,如下所示:
将最后几行更改为以下内容-您设置了一个不错的平均函数,但是在将值传递给yourgrade()函数之前忘记了使用它。