Problem 9 (200pts): time_per_word
实现 time_per_word,它接受一个 words 列表和 times_per_player,这是一个每个玩家的列表列表,包含时间戳,表示每个玩家完成打字 words 中每个单个单词的时间。
它返回一个包含给定信息的 game。
game 是一个数据抽象,具有 words 列表和 times。times 存储为每个玩家打字每个单词所需时间的列表列表。
具体来说,times[i][j] 表示玩家 i 打字 words[j] 所需的时间。
例如,假设 words = ['Hello', 'world'] 和 times = [[5, 1], [4, 2]],则 [5, 1] 对应玩家 0 的时间列表,[4, 2] 对应玩家 1 的时间列表。
因此,玩家 0 花了 5 个单位时间写单词 'Hello'。
重要: 在返回
game时,确保使用game构造函数。 测试将检查你是否使用game字典,而不是假设特定数据格式。阅读
cats.py中game构造函数的定义,以了解字典的实现方式。
时间戳是累积的且始终增加,而 times 中的值是每个玩家的连续时间戳之间的差异。
这里是一个例子:如果 times_per_player = [[1, 3, 5], [2, 5, 6]],则 game 的相应 times 属性将是 [[2, 2], [3, 1]]。
这是因为时间戳的差异是第一个玩家的 (3-1)、(5-3) 和第二个玩家的 (5-2)、(6-5)。
times_per_player 中每个列表的第一个值表示每个玩家的初始开始时间。
在编写任何代码之前,解锁测试以验证你对问题的理解:
$ python ok -q 09 -u
解锁完成后,开始实现你的解决方案。 你可以用以下命令检查正确性:
$ python ok -q 09