['1', 'james', '1', '90\n']
['1', 'james', '2', '78\n']
['1', 'james', '3', '87\n']
['1', 'james', '4', '98\n']
['2', 'alice', '1', '95\n']
['2', 'alice', '2', '91\n']
['2', 'alice', '3', '100\n']
['2', 'alice', '4', '98\n']
基本上,这就是我所拥有的。一堆列表从文本文件中读取。 我试图找出一个输出这样的东西到这个控制台的函数。
1, james: 88.65 (this number is weigh-adjusted mark for all assignments)
*Weight for each assignment 0.2, 0.25, 0.25, 0.3
2, alice: 96.15
参数分别是学号,姓名,作业#和标记。 每个人在每个作业的文本文件中至少有四行# 我这样做是出于自我教学的目的,因为我是Python的新手。 非常感谢在这种情况下的任何帮助。我似乎无法从在线教程中找到任何提示
答案 0 :(得分:0)
当你问如何进步时,而不是实际的代码,这里有一些关于如何解决问题的建议:
with
语句打开文本文件。csv
模块从文件加载数据。这将为您提供列表,每行一个,也意味着最终条目不包括\n
。itertools.groupby
功能与csv阅读器一起使用,并使用基于第一个条目的密钥返回k
和g
,其中k
是关键(例如1
),g
是一个迭代器,为您提供与1
匹配的条目列表。sum
来生成您的价值。