回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是我的密码:</p>
<pre><code>ac = a + c
bd = b + d
indices = random.sample(range(len(ac)),len(ac))
ac = list(map(ac.__getitem__, indices))
bd = list(map(bd.__getitem__, indices))
with open('DD{}.csv'.format(fileName), 'w') as f:
writer = csv.writer(f, delimiter=',')
writer.writerow(['trial','target location',' source target',' source distractor','target','rt'])
for i in range(len(ac)):
loc = [1, 2]
location = random.choice(loc)
if location == 1:
pos1 = [.05,.05]
pos2 = [-.05, -.05]
else:
pos1 = [-.05, -.05]
pos2 = [.05, .05]
distractorstim = visual.ImageStim(win=win, pos=pos1, size=[0.5,0.5])
distractorstim.autoDraw = True
targetstim = visual.ImageStim(win=win, pos=pos2, size=[0.5,0.5])
targetstim.autoDraw = True
targetstim.image = ac[i]
distractorstim.image = bd[i]
win.flip()
trialClock.reset()
core.wait(.05)
rt = trialClock.getTime()
for el in ac:
if el in a:
target = 'congruent'
else:
target = 'incongruent'
writer.writerow([i,location,ac[i],bd[i],target,rt])
</code></pre>
<p>这段代码的作用是将一系列关于刺激的信息记录到一个excel文件中。但是,当我尝试使用element函数('if el')记录来自列表'a'的数据时,它只会重复记录最后一个值。如果我移动element函数,我可以让它记录每个试验,但它只记录所有其他试验的最后一个值。你知道我该怎么解决吗?任何建议都将不胜感激。:)</p>