Skip to content

Problem 8 (200pts): report_progress

实现 report_progress,它在用户完成打字一个单词时被调用。 它接受 typed 单词列表、prompt 中的单词列表、用户的 user_id 和一个用于上传进度报告到多人服务器的 upload 函数。 typed 中的单词数永远不会超过 prompt 中的单词数。

你的进度是正确打字的 prompt 单词的比例,直到第一个不正确单词为止,除以 prompt 单词的数量。 例如,这个例子进度为 0.25

report_progress(["Hello", "ths", "is"], ["Hello", "this", "is", "wrong"], ...)

你的 report_progress 函数应该做两件事:上传消息到多人服务器并返回 user_id 玩家的进度。

你可以通过调用 upload 函数上传消息到多人服务器,该函数接受一个包含键 'id''progress' 的两元素字典。 然后你应该返回玩家的进度,即你计算的单词比例。

提示: 查看下面的字典示例,这是上传函数的潜在输入。 这个字典表示 user_id 为 1 且 progress 为 0.6 的玩家。

{'id': 1, 'progress': 0.6}

在编写任何代码之前,解锁测试以验证你对问题的理解:

$ python ok -q 08 -u

解锁完成后,开始实现你的解决方案。 你可以用以下命令检查正确性:

$ python ok -q 08