gpt4 book ai didi

python - 在 oTree 中随机选取一个数字数组

转载 作者:行者123 更新时间:2023-12-01 09:22:47 33 4
gpt4 key购买 nike

我正在尝试生成随机数字数组。我的实验中有 x 轮。我希望每轮显示不同的图片,并且图片以随机顺序出现。我试图在 models.py 中嵌入一些 python 代码来做到这一点,但我没有得到任何结果。

最佳答案

好吧,假设您有一组名为“img1.jpg、img2.jpg、img3.jpg”等的图像 - 为了简单起见,我们假设此类图像的数量与您的轮数一致。

有点天真但可行的方法如下:

models.py中:

import random 
class Constants(BaseConstants):
imgs = ['img1.jpg', 'img2.jpg', 'img3.jpg',]

class Subsession(BaseSubsession):
def creating_session(self):
if self.round_number == 1:
for p in self.session.get_participants():
imgs = Constants.imgs.copy()
random.shuffle(imgs)
p.vars['images'] = imgs

pages.py中:

class MyPage(Page):
def vars_for_template(self):
image = self.participant.vars['images'][self.round_number - 1]
return {'img_to_show': image}

就是这样:您可以在每一轮中为每个参与者显示一个单独的随机图像,稍后您可以在此页面的模板上使用它

PS:我称这种方法为天真,因为稍微复杂一点的方法是访问存储图像的文件夹并获取与游戏轮数相对应的图像子集。但有时这种直接方法更容易出错。

关于python - 在 oTree 中随机选取一个数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50690009/

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