我的问题可以简化为:参与者按下一个键,然后出现一个文本,说“您按下了...”
为此,我创建了两个例程。在例程1中,有一个文本和键盘(key_resp)组件。在文本部分,它只是说“请按1或2”。键盘组件允许使用键1或2。
在第二个例程中,我有一个代码和text_2组件。该代码位于“开始例程”标签中,其中包含以下代码:
if key_resp.keys[0] == '1':
message = 'you pressed one'
else:
message = 'you pressed two'
在text_2组件中,我只有“ $ message”。现在,当我运行此命令时,出现错误:
名称错误:未定义名称“消息”。
然后,我在“开始实验”标签的例程1中添加了代码。代码很简单:
message = 'This message will not be displayed because of if/else in routine 2'
现在,这次实验实际上开始了,但是它显示了不需要的消息。如何显示参与者的键盘响应?
答案 0 :(得分:3)
您必须将text_2
组件文本字段设置为更新“每个例程”,而不是保持不变。如果该字段设置为常数,则假定该值在实验开始时可用。因此,如果未在该阶段定义它,则会得到一个错误(通过提供一个在开始时定义的设置值来诊断出该错误)。您现在可以安全地删除该代码,因为您提供的值在例程的每次运行时都会更新。
请注意,https://discourse.psychopy.org上的社区论坛可能是获得此类支持的更好场所。 StackOverflow更加注重于其他人普遍感兴趣的基于代码的问题和答案,并且可以使用单个问题/答案格式来回答(而该论坛允许来回讨论以解决问题)。 / p>