Как выбрать, продолжается ли процедура на основе ответа участника? - PullRequest
0 голосов
/ 20 октября 2018

Я хочу создать эксперимент в PsychoPy Builder, который условно показывает вторую процедуру для участников на основе их реакции на клавиатуре.

В задаче у меня есть цикл, который сначала проходит процедуру, где участники имеют три варианта ответа («влево», «вправо», «вниз») и только если они выбирают «влево», независимо от того,правильного ответа, если они увидят вторую процедуру, которая задает дополнительный вопрос для ответа.Затем каждый раз цикл должен перезапускаться с подпрограммой 1.

Я попытался использовать биты кода в разделе «начало эксперимента» следующим образом:

if response.key=='left':
    continueRoutine=True
elif response.key!='left':
    continueRoutine=False

Но здесь я получаю ошибкупоговорка response.key не определена.

1 Ответ

0 голосов
/ 21 октября 2018

Если ваш компонент клавиатуры на самом деле называется response, то атрибут, который вы ищете, называется response.keys.Это множественное число, поскольку оно возвращает список, а не одно значение.Это потому, что он способен хранить несколько нажатий клавиш.Даже если вы укажете только один ответ, он все равно будет возвращен в виде списка, содержащего только этот единственный ответ (например, ['left'] вместо 'left').Поэтому вам нужно либо извлечь только один элемент из этого списка (например, response.keys[0]) и проверить его, либо использовать конструкцию типа if 'left' in response.keys для проверки внутри списка.

Во-вторых, вам не нужноиметь проверку, которая присваивает True continueRoutine, так как по умолчанию она равна True в начале процедуры.Так что только установка его на False приводит к любым действиям.Таким образом, вы можете просто сделать что-то вроде этого:

if not 'left' in response.keys:
    continueRoutine = False

Наконец, для вопросов, связанных с PsychoPy, вы можете получить лучшую поддержку через специальный форум по адресу https://discourse.psychopy.org, так как это позволяет больше-для обсуждения, чем единственная структура вопрос / ответ здесь в SO.

...