2017-02-18 13 views
0

Чтобы понять, я вносил изменения в 120 различных цветов TextStim (разные цветные слова) в список под названием «испытания», , Я буду проходить через «испытания», чтобы представить эти стимулы один за другим. Тем не менее, они были изменены в этот список в порядке в соответствии с используемым мной циклом. Я в идеале нуждаюсь в том, чтобы они были рандомизированы для того, чтобы они были представлены. я пытался:Случайный порядок TextStim в измененном списке/поиск индекса итерации в цикле (Psychopy)

импорт случайного

испытания = random.shuffle (испытания)

, но все это я получаю TypeError: объект «» NoneType не итерации ... Я думаю, что это что-то делать то, что тип стимула в списке сохраняется как неправильный тип переменной. по той же причине, когда я пытаюсь найти пробный номер каждой презентации (для c в испытаниях: ... trialnum = len (c)), поэтому я могу хранить пробный номер вместе с ответом, я получаю сообщение об этом не будучи итерабельным в этой форме. В основном я считаю, что эти два вопроса связаны каким-то фундаментальным образом.

Любая помощь была бы оценена

Спасибо!

+0

Пожалуйста, вставьте код, в котором вы создаете 'испытания'. Похоже, что это не список, а скорее «Нет». Вы пробовали распечатать 'испытания' перед перетасовкой, чтобы подтвердить это? –

+0

испытания = [] ... .... .... ..... .... для диапазона (0, 15): trials.append (redcong) trials.append (blucong) trials.append (grecong) trials.append (yelcong) ... .... .... .... .... .... для b в диапазоне (0, 5): trials.append (redincongb) trials.append (redincongg) trials.append (redincongy) trials.append (bluincongr) trials.append (bluincongg) trials.append (bluincongy) trials.append (greincongr) trials.append (greincongb) trials.append (greincongy) trials.append (yelincongr) trials.append (yelincongb) trials.append (yelincongg) –

+0

где каждый из добавленных элементов, например. redcong - тип стимула, и цикл определяет, сколько из каждого типа стимулов находится в конечном списке. –

ответ

1

Это потому, что random.shuffle перемешивает на месте и возвращает None (именно поэтому вы получите ошибку о NoneType), так что

random.shuffle(pairs) 

вместо

pairs = random.shuffle(pairs) 

В качестве общего комментария, вы не генерирует много TextStims, а скорее генерирует одно, а затем обновляет это при запуске эксперимента. Похоже, вы делаете эксперимент в Stroop или что-то в этом роде. Так что сделайте примерно так:

# General setup 
import random 
from psychopy import visual, event 
win = visual.Window() 

# A TextStim and five of each word-color pairs 
stim = visual.TextStim(win) 
pairs = 5 * [('blue', 'blue'), ('red', 'blue'), ('green', 'yellow'), ('red','red')] 
random.shuffle(pairs) 

# Loop through these pairs 
for pair in pairs: 
    # Set text and color 
    stim.text = pair[0] 
    stim.color = pair[1] 

    # Show it and wait for answer 
    stim.draw() 
    win.flip() 
    event.waitKeys() 
+0

, что очень большое спасибо!вы знаете что-нибудь о том, как обойти: SyntaxError: не может назначить буквальное сообщение об ошибке? Я пытаюсь распечатать цвет, на который ссылается клавиша, а не сам ключ, но когда я пытаюсь назначить его ....... 'f' = 'red' .......... ..... Я получаю это сообщение об ошибке. спасибо за ваше время –

+0

Сделайте 'f = 'red''. Вы не можете присвоить значение строке. Назначьте его переменной. –

 Смежные вопросы

  • Нет связанных вопросов^_^