Python 使用字符串访问数组中元素的索引,但字符串是随机选择的
我正在做一个文本冒险游戏,你必须在其中解谜语。我创建了一个数组Python 使用字符串访问数组中元素的索引,但字符串是随机选择的,python,arrays,indexing,Python,Arrays,Indexing,我正在做一个文本冒险游戏,你必须在其中解谜语。我创建了一个数组riddles=[“riddle1”,“riddle2”,…]和answers=[“answer1”,“answer2”,…](answer1是riddle1的答案),然后我用riddle=random.choice(riddles) 现在我要检查输入是否与随机选择的谜语的答案相同。但首先,我尝试将随机选择的谜语的正确答案保存到变量answer中。我用answer=answers[ridle]来做这件事。我还尝试了在谷歌上找到的ans
riddles=[“riddle1”,“riddle2”,…]
和answers=[“answer1”,“answer2”,…]
(answer1是riddle1的答案),然后我用riddle=random.choice(riddles)
现在我要检查输入
是否与随机选择的谜语的答案
相同。但首先,我尝试将随机选择的谜语的正确答案保存到变量answer
中。我用answer=answers[ridle]
来做这件事。我还尝试了在谷歌上找到的answer=answers['ridle']
。我甚至尝试了answer=answers[ridles[ridle]]
,但我无法达到我想要的效果
另外,当我试图运行程序时,我得到了这个错误列表索引必须是整数或片,而不是str
下面是函数
`def riddle_room1():
你确定这是一个整数吗?
要在下一行中使用riddle,它必须是一个整数。列表索引必须始终为整数
answer = answers[riddles[riddle]]
我认为字典在这里会更有用
你确定这是一个整数吗?
要在下一行中使用riddle,它必须是一个整数。列表索引必须始终为整数
answer = answers[riddles[riddle]]
我认为字典在这里会更有用。与其从谜语列表中选择一个随机元素,不如生成一个从
0
到谜语长度的整数?这样,您就可以使用这个整数作为谜语
和答案
的索引
考虑这个例子:
rand = random.randint(1, len(riddles)) # Generate a random int from 0 to length of riddles
riddle = riddles[rand] # Use this int as index for riddles
answer = answers[rand] # Same int can be used as index for answers
print(riddle)
与其从谜语列表中选择一个随机元素,不如生成一个从0
到谜语长度的整数?这样,您就可以使用这个整数作为谜语
和答案
的索引
考虑这个例子:
rand = random.randint(1, len(riddles)) # Generate a random int from 0 to length of riddles
riddle = riddles[rand] # Use this int as index for riddles
answer = answers[rand] # Same int can be used as index for answers
print(riddle)
列表索引必须是整数
r = random.randint(0,len(riddles))
riddle = riddles [r]
answer = answers [r]
列表索引必须是整数
r = random.randint(0,len(riddles))
riddle = riddles [r]
answer = answers [r]
之所以出现错误,是因为要从列表中获取内容,需要传递索引参数,该参数应为整数。但是您正在传递导致错误的字符串索引
现在是下一个问题的解决方案
要获得谜语所属的索引,您可以执行以下操作
answer=答案[谜语索引(谜语)]
index函数告诉给定参数的索引编号(参数是您在函数括号中给出的东西!)
例:
strs=['hello'、'bye'、'welcome']
打印(strs.index('bye'))#这将打印1,因为strs[1]是bye
希望您得到了答案,如果有任何疑问,您可以发表评论。您得到了错误,因为要从列表中获取内容,您需要传递索引参数,该参数应为整数。但是您正在传递导致错误的字符串索引
现在是下一个问题的解决方案
要获得谜语所属的索引,您可以执行以下操作
answer=答案[谜语索引(谜语)]
index函数告诉给定参数的索引编号(参数是您在函数括号中给出的东西!)
例:
strs=['hello'、'bye'、'welcome']
打印(strs.index('bye'))#这将打印1,因为strs[1]是bye
希望您能得到答案,如果有任何疑问,您可以发表评论。好的,谢谢,我会尝试这样做,并会回来告诉您发生了什么。好的,谢谢,我会尝试这样做,并会回来告诉您发生了什么