Как заставить участника нажать указанную c цифровую клавишу в python? - PullRequest
1 голос
/ 01 февраля 2020

Я хочу сделать так, чтобы я представлял участников с номерами от 1 до 9, и эксперимент продолжится только в том случае, если они нажмут указанный c номер. Пока у меня есть этот код:

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) 

в l oop (до tstim), но это не сработало.

Можете ли вы помочь мне решить эту проблему, чтобы я мог получить ее, чтобы программа перешла на следующий номер после того, как участник нажал номер, который в данный момент находится на экране?

1 Ответ

1 голос
/ 01 февраля 2020

Я преобразовал number в строку в вашем коде здесь:

event.waitKeys(str(number))

и все заработало.

...