You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按键值与字符串比对问题:key_resp_3.keys与"b"比对失效如何解决

问题根因

PsychoPy 的键盘响应组件返回的key_resp_3.keys为数组类型,即便用户只按下单个按键,返回值也会是['b']格式的单元素数组,而非你预期的字符串'b'。你之前直接拿数组和字符串做不等比对,判断结果永远为真,所以无论按下什么按键都会触发跳过逻辑。

正确比对代码

你当前使用的是JS语法的PsychoPy实验,按场景选择对应写法即可:

  • 单次仅允许输入单个按键的场景
// 先判断存在按键输入,再取数组第一位比对
if (key_resp_3.keys.length > 0 && key_resp_3.keys[0] !== 'b') {
    continueRoutine = false;
}
  • 允许输入多个按键,只要包含b就保留当前环节的场景
if (key_resp_3.keys.length > 0 && !key_resp_3.keys.includes('b')) {
    continueRoutine = false;
}

如果你用的是Python版本的PsychoPy,对应写法如下:

# 单按键场景
if key_resp_3.keys and key_resp_3.keys[0] != 'b':
    continueRoutine = False

内容的提问来源于stack exchange,提问作者Linda Espey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:15:03