Re-shuffle a list of words for each participant

Hi! I’m new to PsychoPy. I’m programming a simple experiment in builder where participants are presented with a list of words in a random order, and below the list, a series of images are presented. Participants are asked to select a word from the list and match it with the image. The list order should remain the same throughout the experiment, whereas the order of the images will be presented randomly.

I have created this all in builder, however the I need the word list to be randomized across participants. I.e. each participant should be presented with the same list of words, but in a different order. Does anyone know how to achieve this?

Here’s what I have:

The images are correctly randomly presented in the inner loop. The outer look presents one word list throughout the experiment which should be randomized for each participant. Currently the word list is contained in a csv and looks like this:

image

I’m assuming that if I programmed it outside of Builder that it would be simple with python code, but as I want to transfer this to an online experiment, I believe everything has to be in Builder.

Anyone have any ideas? Thanks in advance!

1 Like

Hi. To clarify, do you want the list order for words to be the same but the order of the images to be random? If so, I suggest removing the nested loop.

Instead, insert a code component within your routine and put this code for maintaining the list ordered. Basically, this is just a text, and it will appear like this all the time.

word_list = ‘Cat, Dog, House’

And then, in your text box, put this $word_list.

OR instead, in your text box, you can just put $Word. If, in your CSV, the ordered word list is the only variable in your column. Again, there is no need for the nested loop.

Hopefully, this helps; if not, please share your CSV file and more builder details (including your code, if any, and what your loops and text components look like).

Good luck :slight_smile: