首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将random.choice转换为整数进行实验?

如何将random.choice转换为整数进行实验?
EN

Stack Overflow用户
提问于 2020-04-20 21:19:09
回答 1查看 98关注 0票数 0

我正在使用Python设计一个心理物理实验,其中听觉刺激(音节)、文本刺激(对)和正确答案都存储在csv文件中。

我正在努力使相同的文本刺激不会连续呈现(例如。听觉刺激是1、2、3、4&文本刺激是你听到的"1“或"2”,所以我尽量避免连续两次呈现后一种刺激)。

我创建了以下代码:

代码语言:javascript
复制
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]

但是,我一直收到以下错误:

代码语言:javascript
复制
invalid literal for int() with base 10: 't'

有人能帮个忙吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 21:20:53

代码语言:javascript
复制
random.choice('list_2')

去掉引号,因为上面只是一个字符串,它返回了" t“,因为它选择了"list_2”中的第四个元素,即t。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61323483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档