Я хочу сделать так, чтобы я показывал участникам цифры от 1 до 9, и эксперимент продолжался только в том случае, если они нажимали эту конкретную цифру. Пока у меня есть этот код:
from psychopy import visual, event, core
#draw the blank window
win=visual.Window([1024,768], fullscr=False,allowGUI=True, units='pix',\
color= (0,0,0))
#ready stim
ready = visual.TextStim(win, "Ready", color = (1.0, 1.0, 1.0))
ready.draw()
win.flip()
event.waitKeys()
#create text stimulus
tstim = visual.TextStim(win, text = '', pos=(0, 0))
for number in range(0,10):
# Update text stimulus with the right number
tstim.setText(number)
# Draw the text stimulus
tstim.draw()
# Show on the next refresh
win.flip()
#note to self: figure out how to make it just for the number
event.waitKeys(number)
# Wait 1.0s before continuing
core.wait(1.0)
# Blank the screen by flipping without drawing anything
win.flip()
# Wait for one seconds at the end
core.wait(1.0)
win.close()
Когда я это делаю, код не работает, так как ключи ожидания должны быть строкой, а не целым числом. я пытался сделать
str(number)
в цикле (до tstim), но это не сработало.
Можете ли вы помочь мне решить эту проблему, чтобы я мог сделать так, чтобы программа переходила к следующему номеру после того, как участник нажал номер, который в данный момент находится на экране?
number = str(number))
. Текстовый стимул достаточно умен, чтобы за кулисами приводить числовые значения к строкам, поэтому вы бы не заметили здесь проблемы, ноwaitKeys()
действительно ожидает только строковые значения. - person Michael MacAskill   schedule 03.02.2020waitKeys(str(number))
. Выполнение толькоstr(number)
без присваивания избыточно и ничего не делает - person Zionsof   schedule 05.02.2020