如何随机化草图板中显示的图像

2024-06-16 10:58:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我有个实验,有8个条件, 每个条件需要显示一个图像,从一个类似的图像文件夹中随机选择。 每个试验都需要不同(因此每个参与者坐在一组不同顺序的条件下),每个条件下选择的图像也会不同。你知道吗

所以; 条件-图像 A-1至140 B-1至80 等。。你知道吗

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

我试过用代码来随机排列顺序,但一无所获。 请帮帮我, 汤姆


Tags: 数据答案代码图像文件夹软件顺序记录
2条回答

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

你有两件事要做:将8件事的顺序随机排列几次,并确保没有一个排列选择了一次以上。你知道吗

我首先要指出,希望您的参与者少于factorial(8),因为这是唯一安排的最大数量。你知道吗

这里是蛮力方法,它生成输入列表(images)的所有可能排列,然后洗牌它;然后您可以只使用保证唯一的第一个排列。你知道吗

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个条件的任何情况,您都需要采用更复杂的方法。你知道吗

相关问题 更多 >