Python 2.7 保存一个选择并在psychopy上显示另一个选择

Python 2.7 保存一个选择并在psychopy上显示另一个选择,python-2.7,psychopy,Python 2.7,Psychopy,我试图通过使用心理变态来建立一个决策任务。我以前没有使用python或psychopy的经验,所以我有点被卡住了 我有15次试验,每次试验我都会展示一对照片。参与者需要按向左或向右箭头键选择其中一张图片。在他们做出选择后,我想向他们展示他们的选择,并询问他们为什么选择那张照片 我在psychopy中创建了一个循环,并分配了一个.xlsx文件,用于按顺序显示我的图片。我的问题是,我没有给任何图片指定按键。我只需要按一下键就可以结束这个例行程序。因此,我如何在某个试验中使用参与者的按键保存图片,并在

我试图通过使用心理变态来建立一个决策任务。我以前没有使用python或psychopy的经验,所以我有点被卡住了

我有15次试验,每次试验我都会展示一对照片。参与者需要按向左或向右箭头键选择其中一张图片。在他们做出选择后,我想向他们展示他们的选择,并询问他们为什么选择那张照片

我在psychopy中创建了一个循环,并分配了一个.xlsx文件,用于按顺序显示我的图片。我的问题是,我没有给任何图片指定按键。我只需要按一下键就可以结束这个例行程序。因此,我如何在某个试验中使用参与者的按键保存图片,并在将其呈现给他/她之后保存这些图片

因为我没有任何正确或错误的答案,所以我不能在.xlsx文件中添加一列,然后设置为正确的amnswer

我如何将按键与视觉刺激(我的图片,同时呈现)连接起来,并存储这些输入并在显示它们之后使用

我可以使用这个
trials.addData('secimtuslar.keys',secimtuslar.rt)
变量保存并显示在循环中的另一个例程中吗

# -------Start Routine "bununedensectin"-------
while continueRoutine and routineTimer.getTime() > 0:
    # get current time
    t = bununedensectinClock.getTime()
    frameN = frameN + 1  # number of completed frames (so 0 is the first frame)
    # update/draw components on each frame

    # *text_2* updates
    if t >= 0.0 and text_2.status == NOT_STARTED:
        # keep track of start time/frame for later
        text_2.tStart = t
        text_2.frameNStart = frameN  # exact frame index
        text_2.setAutoDraw(True)
    frameRemains = 0.0 + 3- win.monitorFramePeriod * 0.75  # most of one frame period left
    if text_2.status == STARTED and t >= frameRemains:
        text_2.setAutoDraw(False)

我想我需要在这些行之间嵌入一个有用的代码。

每次试验的结果都会在试验结束时自动存储在数据文件中。它也可以通过每次试用的代码获得。e、 g.如果您的键盘组件名为
trial\u response
,则它有一个
.keys
属性,可通过以下方式在代码中访问:

trial_response.keys

如果要利用它,则需要使用一些Python代码片段。事实上,通过论坛上的讨论而不是在这里获得帮助会比在这里得到更好的处理,因为这里更多地关注于询问和回答特定的代码问题,以及与其他读者有某种更广泛相关性的问题。

我找到了我问题的答案

我在循环中插入了两个例程(nedensol和nedesag),并在“beginroutine”选项卡中添加了一个if语句

这是
nedensol
例行程序的代码:

if 'right' in secimtuslar.keys:
continueRoutine = False
通过这样做,我可以防止参与者在按下Deney例程时看到我的
nedensol
例程


我希望这能帮助其他有类似问题的人

谢谢你的回复!我找到了按键的数据。我想我应该使用这样的代码:'if secimtuslar.keys=='left'。。。nexttrial.setImage()
if 'right' in secimtuslar.keys:
continueRoutine = False