首页 > 解决方案 > OpenSesame:如何引用内联脚本之外的变量?

问题描述

我目前正在编写一个心理实验,并且在引用内联脚本中的变量时遇到了困难。具体来说,在您收到两张牌的任务中,您选择一张,您可以赢/输积分。选择一张牌后,您会立即看到您选择的牌是否是赢/输响应的反馈,并附有一个被编码为变量 [running_reward] 的运行总数。现在我正在尝试和失败的是在每个块的末尾添加一个运行总计。因为我创建的这个新脚本在试验序列之外但在同一个块中,它没有注册 block4_reward,因此不会将运行总数更新为正确的数量,它只显示 0。我的问题是,为什么它不更新?

  1. 显示为 0 的原因是在实验开始时,我们将“exp.set(block4_reward, 0) 作为起始值。虽然,鉴于下面显示的代码,它应该在参与者获得/失去积分时更新?

  2. 在试用序列结束时,我有代码:

running_reward = exp.get("running_reward")

exp.set("block4_reward", running_reward)

block4_reward = exp.get("block4_reward")

print("block 4 reward: ", block4_reward)
  1. 紧跟这(2),在试验序列之外但仍在同一块内,是代码:
print("new_inline_script_5:")

block4_reward = exp.get("block4_reward")

print("block 4 reward: ", block4_reward)
  1. 这是将出现在块末尾的屏幕的“代码”,以显示最终获得的总数。
draw textline center=1 color="#010101" font_bold=no font_family=Avenir font_italic=no font_size=27 html=yes show_if=always text="Your total winnings so far are: [block4_reward]" x=0 y=-100 z_index=0

标签: pythonopen-sesame

解决方案


推荐阅读