如果陈述条件取决于反应性精神病

2024-04-25 01:40:48 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的实验中,参与者必须用视觉评分量表进行一系列评分。在

首先,我初始化屏幕并添加相应的可视化组件。我的变量recall创建评级量表,提供两个选项:“是”和“否”。在

稍后,使用vasTitle变量创建一个标题,询问“你还记得这幅画吗?”他们必须回答“是”或“否”,与问题出现在同一屏幕上。在

现在,我想根据参与者回答“是”还是“否”来调整我的recall语句,但我不知道如何做。如果参与者回答“否”,我想说明他们对之前答案的信心(这就是问题所在,在这种情况下)。在

我通过创建另一个尺度来做到这一点,他们必须回答“是”或“否”,他们对自己之前的答案很有信心,他们是否记得这幅画。当我运行我的代码时,它会在我对recall变量设置条件时中断。你可以在代码的末尾看到我所做的努力,但似乎行不通。在

from psychopy import visual

# Intialize screen
win = visual.Window(size=(1440, 900), fullscr=True, screen=0, allowGUI=False, allowStencil=False, monitor='testMonitor', color=[0,0,0], 
colorSpace='rgb', blendMode='avg', useFBO=True, units='deg')

# Initialize Visual Components

recall = visual.RatingScale(win, choices=("Yes", "No"), markerStart=0.5, singleClick=False, 
disappear=False, respKeys=['left', 'right'], showAccept=False, acceptKeys='up')

vasTitle = visual.TextStim(win=win, ori=0, name='vasTitle', text=u'+', font=u'Arial',
pos=[0, 5], height=1.0, wrapWidth=None, color=u'white', colorSpace='rgb', opacity=1,
depth=0.0)

vasScore = visual.TextStim(win=win, ori=0, name='vasScore', text=u'+', font=u'Arial',
pos=[0, -3], height=1.0, wrapWidth=None, color=u'white', colorSpace='rgb', opacity=1,
depth=0.0)

confidence2 = visual.RatingScale(win, low=1, high=6, labels=("Sure I don't know", "Sure I know"), 
marker='glow', markerColor='LightGrey', singleClick=False, noMouse=True,
showValue=False, markerStart = 3.5, showAccept=False,
leftKeys='left', rightKeys='right', acceptKeys = 'up', 
disappear=False)

# Start trial of experiment
for tr in range(1):
# Recall
    recall.reset()
    vasTitle.setText('Do you remember this painting?')
    while recall.noResponse:
        vasTitle.draw()
        recall.draw()
        win.flip()
    showText(text='+', time=0.5, FrameRate=Exp.FrameRate)

    if recall.Response == "No": #PROBLEM HERE
        confidence2.reset()
        vasTitle.setText('How sure are you of your previous answer?')
        while confidence2.noResponse:
            vasTitle.draw()
            confidence2.draw()
            vasScore.setText('%i' %(confidence2.getRating()))
            vasScore.draw()
            win.flip()
        showText(text='+', time=0.5, FrameRate=Exp.FrameRate)

Tags: textfalsetruergb参与者wincolorvisual
1条回答
网友
1楼 · 发布于 2024-04-25 01:40:48

你应该多研究一下如何使用这个库。在您的代码中,recallvisual.RatingScale的一个实例。当用户验证了最终答案时,while recall.noResponse循环似乎结束了(向上键)。此循环结束后,您可以访问不同的属性:

while recall.noResponse:
    vasTitle.draw()
    recall.draw()
    win.flip()
    # this loop is ended when the 'up' key is pressed to validate the answer
rating = recall.getRating() # Stores the final answer
decisionTime = recall.getRT() # Stores the decision time (sec)
choiceHistory = recall.getHistory() # Stores tulpes of (answer, time)

以下是一些帮助您的链接:

github项目https://github.com/psychopy/versions/blob/master/psychopy/visual/ratingscale.py RatingScale()的api文档http://www.psychopy.org/api/visual/ratingscale.html#psychopy.visual.RatingScale

相关问题 更多 >