Python - 在循环中使用预定义变量列表(psychopy)

标签 python loops psychopy predefined-variables

我正在尝试编写一段代码,需要依次查看 200 个文本刺激 1 秒,但我无法让我的代码正常工作。

每个刺激都被预定义为一个变量:

redkey = visual.textStim(win, "key", (1.0, -1.0, -1.0)
bluekey = visual.textStim(win, "key", (-1.0, -1.0, 1.0)

我有一个 200 个项目的列表,如下所示:

x = ['redkey', 'bluekey', 'bluekey', 'redkey'...]

我正在尝试编写一个 for 循环,它循环遍历列表并显示每个变量一秒钟(大致),但我无法让它工作。

win = visual.Window([1024, 768], fullscr = false, allowGUI=false, color = (0.0, 0.0, 0.0))

for item in x:
    item.draw()
    win.flip()
    core.wait(1.0)

当我这样做时,我收到错误:AttributeError:'str'对象没有属性'draw'

我尝试使用 vars()eval() 但我不太清楚该怎么做。甚至可以做到这一点吗?

最佳答案

我猜你应该改变:

x = ['redkey', 'bluekey', ...]

x = [redkey, bluekey, ...]

事实上,“x”中的每个项目都是一个字符串,而不是所需的类对象。

关于Python - 在循环中使用预定义变量列表(psychopy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35853254/

相关文章:

python - 序列化时 Protobuf 默认与 "missing required fields"

python - 如何在python 3中获取JSON的纬度和经度字段特定值?

python - 'If loop does NOT break, run code' 的方法是什么?

从同一行中指示的列返回值

c++ - 从数组列表中用户搜索一个数字,如果没有找到,则只显示一个未找到的消息,而不是多次

python - 用于捕获语音以供 Julius 识别的 adintool 或 psychopy?

python - 为什么 numpy array arr2d[ :, :1] and arr2d[:, 0] 会产生不同的结果?

python - pip 安装的命名空间变成内置的

audio - 在Psychopy中将偏好从Pyo更改为Pygame

python - 让 Psychopy 构建器每 3 张图像后等待响应