gpt4 book ai didi

python - 有没有办法随机化主循环中子循环的顺序?

转载 作者:行者123 更新时间:2023-12-01 06:20:43 29 4
gpt4 key购买 nike

我有 6 个不同的 block (for 循环),它们是主 for 循环的一部分。每个 block 由 6 个随机挑选的刺激组成,应该出现十二次。 block 的呈现应该以随机顺序发生。

到目前为止,我围绕六个 block 创建了一个主循环,重复十二次,并且我计划使用 PsychoPy 的 TrialHandler 随机化 block 的顺序。然而,这并不能按应有的方式工作,我必须找出另一种方法。我在想:

  1. 我可以创建一个列表(数字或字符串)并打乱该列表,然后为子循环创建 if 条件,即“如果“Block1”是 list[0],则 for 循环 Block1 是初始化。这样的东西有效吗?如果有效,我该如何实现它,因为理想情况下,我想用列表生成子循环的顺序。

  2. 另一个想法涉及 TrialHandler,因此特定于 PsychoPy。我想知道是否可以创建一个包含不同 block 的 Excel 文件并将其添加到主循环的条件参数中。如果每个 block 都是一行,PsychoPy 将能够将它们随机化。但是,我不确定这是否有效以及如何将 block 添加到 Excel 文件中。

这些解决方案中的任何一个看起来合理吗?或者是否有其他方法来实现随机化?

最佳答案

由于 Python 函数本质上是对象,因此您可以将它们分配给列表或字典:

from random import randint


def foo():
# do things
print('foo')

def bar():
print('bar')

funcs = [foo, bar]

random_int = randint(0, len(funcs)-1) # generate a int between 0 and last entry of the list
funcs[randint]() # this calls the function in position randon_int

关于python - 有没有办法随机化主循环中子循环的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60376808/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com