Psychopy | 第2期:从Stroop看条件与循环
Hello,
这里是行上行下,我是喵君姐姐~
最近在家实在无聊,所以只好安安心心学习啦。你最近在家干什么呢?
今天继续邀请阿槑给你带来Psychopy系列教程,希望你会继续喜欢并且一直支持哟~
1 相关概念的简单引入
在之前几期,我们学习了Psychopy的入门以及数据类型与运算符。
今天,我们继续从Stroop范式来学习psychopy的条件与循环。
提到心理学行为实验,Stroop范式的影响与重要性不言而喻。
对于Stroop范式来说,我们需要控制呈现的条件、文字、颜色相互匹配,匹配方式如表所示:
那么,如何快速的实现这样的匹配呢?
我们可以利用条件分支与循环的结构来完成:
list = ['red', 'blue']
for word in list:
for color in list:
if word == color:
condition = 'same'
else:
condition = 'diff'
print(condition, word, color)
代码看起来有点复杂,我们现在分别来学习其中涉及的两种结构:条件分支与循环。
2 条件分支结构的介绍
条件分支结构形式比较简单,基本形式为:
if <布尔表达式>:
<代码段 | pass>
在这里,布尔表达式是一类只能以 True 或 False 为取值的代码,如 1==2;pass是一个占位符,表示“什么也不做”。
由于Python中的循环或分支不允许为空,所以需要使用pass占位;代码段 与 pass 有其中之一即可。
当我们看到 if 这个单词时,我们脑海中蹦出来的意思就是“如果”,同样的,在 Python 中,if 也可以简单地理解为“如果”的意思。
也就是说,当 if 后面的被满足时,则继续执行后面的代码,否则跳过这一代码。如:
a = 1
b = 2
if a < b:
print('a<b')
此时我们可以看到结果如下:
而相反:
a = 2
b = 1
if a < b:
print('a<b')
则 ‘a<b’ 无法被输出。
条件分支结构除了像上述那样单独使用if外,对于相互并列的不同条件,我们使用可以if…elif…elif…else…来进行并列,具体来说:
当有两种互斥的条件时