将输入与答案进行比较,而不考虑顺序

2024-04-29 09:18:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过与正确答案的比较来评估人们的输入答案

现在我有

stimuli_words = ["tree","bird","cake","ocean","dance","statistics","headphone", "red","duck"]
chosen_stimuli = stimuli_words[0:2]

correct_answer = ''.join(chosen_stimuli)

if(''.join(key_resp.keys).upper() == correct_answer.upper()):
   print('correct')

使用此代码,只有当人们按照正确的顺序输入单词时,才会收到“正确”的反馈。我希望程序能够评估人们的输入,而不考虑输入的顺序,我该怎么做

这段代码来自一项任务,在该任务中,人们阅读一系列单词,然后回忆起来。他们将通过“按键应答”输入单词(这是“心理变态”中的键盘组件)。key_resp.key输入是字母而不是单词,因此排序将导致字母排序。虽然我可以将答案部分按如下方式排序,但我仍然无法将两者等效。我的下一步是创建反馈,评估该人正确回忆了多少单词,因此我最终希望程序检查答案列表和关键答案列表,并告诉我有多少是匹配的

correct_answer =''.join(sorted(chosen_stim)).upper()

Tags: key答案代码answer程序排序顺序单词
1条回答
网友
1楼 · 发布于 2024-04-29 09:18:22

您可以使用regex函数 ^{}。这将查找所有不重叠的匹配项

示例代码:

regex = re.compile('|'.join(stimuli_words), re.IGNORECASE)
matches = regex.findall(''.join(key_resp.keys))
# then compare matches items with chosen_stimuli items

相关问题 更多 >