分析文件中的数据并将其输出到Python3中的字典中

时间:2012-11-16 11:53:34

标签: python python-3.x

我正在编写一个名为average_by_section: (file, str) -> float

的函数

第一个参数是打开的标记文件。每行代表一个学生,由学生编号,姓名,部门代码和成绩组成,所有这些都用空格分隔。

例如如下所示:

987654322    Xu             Carolyn         L0101   19.5
233432555    Jones          Billy Andrew    L5101   16.0
555432345    Patel          Amrit           L0101   13.5

返回该部分中所有学生的平均分数,如果部分代码没有出现在任何学生的分数文件中,则返回None

我得到的提示是:

  • 提示:请注意,每个学生的姓名数量各不相同。
  • 提示:使用rstrip()删除行尾的无关空格。
  • 提示:要测试此函数,请编写一个帮助函数,打开和关闭标记文件,并在其间调用average_by_section

我现在要在文件的行中吐出元素:

def average_by_section(marks, section):
    dic = {}
    for line in marks:
        wordlist = line.split()

我不知道下一步该做什么......

我需要一些说明/指南来完成这个功能。

你会怎么写这个函数?

1 个答案:

答案 0 :(得分:2)

尝试下一行:

(studentNumber, *names, sectionCode, grade) = wordlist

这是一个很好的新Python3功能,在该分配中使用*:)

关于文件的打开/关闭:你正在使用一种高级语言,这大大简化了这部分:

with open('/path/to/marks/file.txt') as marks:
    print average_by_section(marks, section)

就是这样。 with为您完成所有开始和结束。