Я разрабатываю эксперимент по психофизике, используя Python, где у меня есть слуховые стимулы (слоги), текстовые стимулы (пара) и правильный ответ - все они хранятся в CSV-файле.
Я пытаюсь сделать так, чтобы один и тот же текстовый стимул не был представлен последовательно (например, слуховые стимулы 1, 2, 3, 4 и текстовые стимулы - вы слышали «1» или «2» «поэтому я стараюсь избегать представления этого последнего стимула дважды подряд).
Я создал следующий код:
Parameters_file = pd.read_csv('Parameters.csv', header=0)
Pair_list = Parameters_file['Pair']
syllable_list = Parameters_file['Stimulus']
corr_Ans_list = Parameters_file['corrAns']
past_syllable = [0] #To provide an initial auditory stimulus.
for i in range(len(syllable_list)):
list_1 = [2,3,4,5]
list_2 = [0,1,4,5]
list_4 = [0,1,2,3]
if past_syllable[-1] == 0:
trial_index = randint(2,5,1)
elif past_syllable[-1] == 1:
trial_index = random.choice('list_1')
elif past_syllable[-1] == 2:
trial_index = random.choice('list_2')
elif past_syllable[-1] == 3:
trial_index = random.choice('list_2')
else:
trial_index = random.choice('list_3')
past_syllable += str(trial_index)
index = int(trial_index)
Pair = Pair_list[index]
corrAns = corr_Ans_list[index]
Однако я продолжаю получать следующую ошибку:
invalid literal for int() with base 10: 't'
Может кто-нибудь помочь с этим? Спасибо!