0

我得到一个 8 行的文本文件,每行都有一个 ID 号、姓名、部分和等级,由空格分隔。我应该返回给定部分的平均值。我对python是全新的,因此我很难弄清楚它。有人可以帮忙吗?我的参数是一个随机文本文件和一个节号

def average_by_secion(文本文件,部分):

'''(io.TextIOWrapper, str) -> flt or NoneType
4

2 回答 2

2
listOfLines = []
while file:
   listOfLines.append(file.readline())
   total = 0
   numOfGrades = 0
   for i in listOfLines:
       total+=int(i.split()[3])
   numOfGrades += 1

return total/numOfGrades

我认为...

于 2012-11-07T20:41:48.773 回答
0

只是发布一些一般过程:

  1. 读取文件的每一行并检查该部分是否与您需要的部分匹配。有很多关于如何在 python 中读取文件 的教程。CSV模块可以帮助您将您的行变成列表或字典

  2. 如果该行具有匹配的部分编号,您可以将其等级添加到集合列表 section_grades_list = []

  3. 一旦你有一个平均成绩列表,从那里开始应该很容易sum(section_grades_list) / len(section_grades_list)

于 2012-11-07T20:37:58.043 回答