Skip to content

Problem 9 (200pts): time_per_word

实现 time_per_word,它接受一个 words 列表和 times_per_player,这是一个每个玩家的列表列表,包含时间戳,表示每个玩家完成打字 words 中每个单个单词的时间。 它返回一个包含给定信息的 game

game 是一个数据抽象,具有 words 列表和 timestimes 存储为每个玩家打字每个单词所需时间的列表列表。 具体来说,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.pygame 构造函数的定义,以了解字典的实现方式。

时间戳是累积的且始终增加,而 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