python - 在任务中实施 12 条中的 8 条中止规则
问题描述
我希望有人可以提供帮助,我正在实施一项评估任务(使用Gorilla在线平台测试儿童的数学技能)。我们的任务有一个不寻常的停止(退出)规则,即在最后 12 个响应中有 8 个错误答案时退出,并且需要在应用程序脚本工具中使用来自 Gorilla API 的 Python 功能的定制脚本。
我对编程相当陌生,尤其是 Python。我希望有人可以帮助我可视化代码以使其正常工作。我目前已将其设置为在 12 个连续错误后退出:
if(correct){
currentConsecutiveIncorrect = 0;
gorilla.store(_noCurrentConsecutiveIncorrectTrials, currentConsecutiveIncorrect, true);
} else {
currentConsecutiveIncorrect++;
gorilla.store(_noCurrentConsecutiveIncorrectTrials, currentConsecutiveIncorrect, true);
// If we are at or have exceeded our max number of consecutive incorrect trials, we need to end the task
if(currentConsecutiveIncorrect >= _maxConsecutiveIncorrectTrials){
gorilla.finish();
}
}
虽然这很有效,但它增加了退出前所需的响应数量,而且我担心参与者疲劳,因为有超过一百个任务项目。
如果要问的不是太多,如果有人可以解释如何以编程方式实现这一点,那将非常有帮助 - 而不是代码或如何在 Gorilla 中实现它(我想将其作为我学习的一部分)。目前我只是看不出如何在理论上实现它。
谢谢
解决方案
如果我正确理解你的问题是什么,我会说这是一个逻辑问题。
如果最后 12 个问题中有 8 个错误,你退出对吗?
让我们举个例子,如果有人犯了 7 个错误然后得到了一个好的答案,我相信你的代码会重置计数错误。所以 9 可能是错误的,但不会发生退出。
if(correct){
currentConsecutiveIncorrect = 0;
...
所以我的猜测是你应该存储每个答案,直到你得到 12 个答案。显然每次都检查错误的答案。
这会给出这样的结果(0 是好的,1 是错误的)
[0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0]
然后,如果仍然没有 8 个错误,则删除数组的第一个值,将答案附加到列表的末尾,然后计算列表中有多少错误。
推荐阅读
- angular-material - 角度材料对话框在生产构建中不起作用
- python - 三元拆箱清单
- javascript - 从数组 .map 输出 [object object]
- c# - C#:如何通过 REST 控制器使用 StreamContent?
- java - java - 如何用java将超过5个txt文件合并到1个文件中?
- android - .apk 文件以 .zip 格式发送
- arrays - 将数组作为 Haskell 函数的输入
- selenium - 使用 selenium 测试 stripe.redirectToCheckout
- c - 这是访问功能的正确方法吗?
- amazon-web-services - 如何使用 Terraform 为托管规则添加范围