首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何随机化sketchpad中显示的图像

如何随机化sketchpad中显示的图像
EN

Stack Overflow用户
提问于 2013-12-11 09:54:12
回答 2查看 64关注 0票数 1

我真的很感谢你的回复。我完全被搞糊涂了,从来不知道这个实验设计/构建软件是如此复杂!我学得很快,但还是个新手,所以请耐心等待。是的,我已经用谷歌搜索了我的问题的答案,但似乎没有类似问题的答案。

我有一个实验,有8个条件,每个条件需要显示1张图像,从相似图像的文件夹中随机选择。每个试验需要不同(因此每个参与者坐在一个不同排序的条件集上),并且每个条件的选择图像将是不同的。

因此;条件-图像A-1到140 B-1到80等。

记录数据不是一个问题,因为这可以手动完成,但我只需要从预定义的组中随机选择图像。

我尝试过使用代码对顺序进行随机化和打乱,但一无所获。请帮帮忙,汤姆

EN

回答 2

Stack Overflow用户

发布于 2013-12-11 10:06:14

要生成和检索文件夹img_folder中随机图像的路径并不太难。您可以使用img_path_array = os.listdir('.../img_folder')。使用random_index = randrange(len(img_path_array))0len(img_path_array)之间随机生成一个整数(导入random即可使用此函数),并通过调用img_path_array[random_index]获取对随机文件url的访问权限。

票数 1
EN

Stack Overflow用户

发布于 2013-12-11 10:10:44

你有两件事要做:将8件事情的顺序随机化一些次数,并确保没有一个排列被选择超过一次。

我将首先指出,希望您的参与者少于factorial(8),因为这是独特安排的最大数量。

下面是一种蛮力方法,它生成输入列表(images)的所有可能的排列,然后对其进行打乱;然后,您可以只采用保证唯一的前n个排列。

代码语言:javascript
复制
import itertools
import random

#images is a list of your images
orderings = list(itertools.permutations(images))
random.shuffle(orderings)
#now just take top n elements of orderings

现在我再一次指出,当你有8个条件时,这是很好的;8!只有40320,保存在内存中就足够了。基本上,对于任何大于10个条件的情况,您都需要采取更复杂的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20509103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档