如何解决分数值的打印?

时间:2019-06-30 19:56:55

标签: python

该程序应显示:

Here are your grades
Math score is 100
Science score is 90
Reading score is 70

Average grade score is 86.66

但是,有了我的代码,它就会显示以下内容:

Here are your grades:
Math score is 100.0
Sciencee score is 95.0
Reading score is 86.66666666666667
The average score is 86.66666666666667

所以基本上平均水平是正确的,但是现在分数不是。

gradesFile = open("grades.txt","r")

#Establishes the variables
total = 0
numberOfLines = 0
lines = 0
print('Here are your grades:','\n')

# Creates a loop that will print out each score, until there aren't anymore
# scores to read. For example:
#Math score is 100
#Science score is 90
#and so on.
for line in gradesFile:
   numberOfLines += 1
   lines = line.strip()
   total += float(gradesFile.readline())
   score = total / numberOfLines
   print(lines + ' score is', score)

gradesFile.close
average = float(total) / (numberOfLines)
print('The average score is', average)

grades.txt文件如下:

数学

100.0

科学

90.0

阅读

70.0

1 个答案:

答案 0 :(得分:0)

您的score本质上是滚动平均值。无需这样做,只需直接打印即可:

for line in gradesFile:
   numberOfLines += 1

   lines = line.strip()

   score =  float(gradesFile.readline())

   total += score

   print(lines + ' score is', score)