我正在使用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'有人能帮个忙吗?谢谢!
发布于 2020-04-20 21:20:53
random.choice('list_2')去掉引号,因为上面只是一个字符串,它返回了" t“,因为它选择了"list_2”中的第四个元素,即t。
https://stackoverflow.com/questions/61323483
复制相似问题