我正在编写一个名为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()
我不知道下一步该做什么......
我需要一些说明/指南来完成这个功能。
你会怎么写这个函数?
答案 0 :(得分:2)
尝试下一行:
(studentNumber, *names, sectionCode, grade) = wordlist
这是一个很好的新Python3功能,在该分配中使用*
:)
关于文件的打开/关闭:你正在使用一种高级语言,这大大简化了这部分:
with open('/path/to/marks/file.txt') as marks:
print average_by_section(marks, section)
就是这样。 with
为您完成所有开始和结束。