我正在制作一个Python3程序来计算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))
将最后几行更改为以下内容-您设置了一个很好的平均值函数,但在将值传递给yourgrade()函数之前忘记了使用它
你的说法不正确。如果你输入33分的三分,你会得到“A”
功能上的问题是您未能获得平均值:
尝试正确的公式:
结构上的问题是你没有正确地解释所有的情况:你的评分等级有差距(即89.5是
F
),你的最后一句假设除了这些范围之外的任何东西都是不及格的。相反,请尝试:我假设你想要的是字母等级的平均等级。如果是这种情况,那么在计算平均值之后,应该调用
yourgrade()
onavg
,如下所示:相关问题 更多 >
编程相关推荐