【问题标题】:Psychopy: update - code needs to be fixedPsychopy:更新 - 代码需要修复
【发布时间】:2015-05-21 16:45:40
【问题描述】:

我正在为我的学士论文使用 Psychopy 进行实验。该实验是在去年(08/2014)使用 BuilderView 建立的。在更新到最新版本的psychopy 1.82.01 后,我使用的代码不再有效。该代码在 1.81.03 下完美运行。 这段代码的目的是记住一个初始评级,并使用这个评级作为第二个评级的起点。这意味着在一个新的例程中,您可以调整您的初始评级。 我使用的代码是:

开始例程: rating3.setMarkerPos(rating.getRating())

有人知道如何修复此代码吗? 非常感谢! 朱莉

【问题讨论】:

  • “不工作”是什么意思?请包含错误消息或描述您看到的错误行为。
  • 文件“N:\ ....”,第 1292 行,在 win.flip() 文件“C:\Program Files (x86)\PsychoPy2\lib\site-packages\ Psychopy-1.82.01-py2.7egg\psychopy\visual\window.py",第 539 行,翻转 thisStim.draw() 文件"C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy- 1.82.01-py2.7.egg\psychopy\visual\ratingscale.py",第 981 行,绘制比例 = self.markerPlacedAt/self.tickMarks TypeError:不支持的操作数类型 /:'NoneType' 和 'float '

标签: psychopy


【解决方案1】:

不确定新版本发生了什么变化。对我来说,您的一般方法大多有效(没有崩溃,但并不总是正确的位置)。

我在两个不同的例程中使用了两个默认评分量表。第二个有一个代码组件,重要的是代码组件出现在该例程中的评级组件之后(在例程面板的屏幕上显示在下方)。 Begin 例程中的代码是:

rating_2.setMarkerPos(rating.getRating() - rating.low)

您收到的错误消息几乎可以肯定是因为rating.getRating() 正在返回None。如果没有响应,则可能会发生这种情况(例如,如果 allowSkipTrue 并且参与者跳过,或者没有给出评分并且您的代码由于某种其他原因仍然继续,可能是超时)。

仅当您的评分不是从 0 开始时才需要减去 rating.low。

【讨论】:

  • 非常感谢!我修正了评级。
猜你喜欢
  • 1970-01-01
  • 2023-03-31
  • 2015-11-10
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多