我是Pyhon的新手,所以如果这是一个非常简单或显而易见的事情,或者如果它被证明是一个太长的问题,我提前道歉。
我正试图通过PsychoPy编写一个实验,在每个实验中,我呈现两个连续的刺激,每个刺激都有一个给定的持续时间,每个刺激之间都有一个间隔。现在,为了指定持续时间,我使用了wait()函数,在单刺激试验中,通过调用列表中的值,我已经成功地做到了这一点,然而,这一次,我对每个刺激使用了不同的列表:
FSTIMDUR = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2]
SSTIMDUR = [1.5, 2.25, 3.0, 3.75, 4.5, 5.25, 6]也就是说,我想要做的是使第一个刺激出现与FSTIMDUR列表的第一个元素相对应的持续时间(0.5秒,即),然后允许ISI通过,然后在与SSTIMDUR列表的第一个元素相对应的持续时间内呈现第二个刺激(1.5秒),用于一次试验。在随后的试验中,我想以相同的方式呈现其余的刺激,按来自两个列表的对的顺序调用每个刺激的持续时间(第二次试验为0.75和2.25,第三次试验为1.0和3.0,依此类推。
举个例子,这里有一小段代码,它做了我想做的事情,但是用了一种不方便的方式,并且需要我为每个持续时间的组合编写一个类似的位,因为它不依赖于从列表调用值:
# TOTAL STIMULUS DURATION (2s, 0.5:1.5)
# draw the fixation stimulus
fixstim.draw()
fixonset = disp.flip()
wait(FIXTIME)
# draw the sample stimulus 1
probstim.draw()
probonset = disp.flip()
wait(0.5)
# allow for an ISI to pass
isi = disp.flip()
wait(ISI)
# draw the sample stimulus 2
probstim.draw()
probonset = disp.flip()
wait(1.5)发布于 2018-12-05 00:29:30
for ftime, stime in zip(FSTIMDUR,SSTIMDUR):
fixstim.draw()
fixonset = disp.flip()
wait(FIXTIME)
# draw the sample stimulus 1
probstim.draw()
probonset = disp.flip()
wait(ftime)
# allow for an ISI to pass
isi = disp.flip()
wait(ISI)
# draw the sample stimulus 2
probstim.draw()
probonset = disp.flip()
wait(stime)如果我解决了你的问题,这应该会像你想要的那样工作。
https://stackoverflow.com/questions/53617139
复制相似问题