Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:检查列表a中的索引是否=输入=列表b中的索引_Python_Sequence - Fatal编程技术网

Python:检查列表a中的索引是否=输入=列表b中的索引

Python:检查列表a中的索引是否=输入=列表b中的索引,python,sequence,Python,Sequence,我想发生的事: Python从列表中选择一个随机问题并提示用户输入,然后检查答案输入的索引值(因此a1=0)是否与所选问题的索引匹配 下面是一个例子: questionsList = [q1,q2] answersList = [a1,a2] 其中,a1是对q1的回答,a2是对q2的回答,依此类推 answer = input(random.choice(questionsList)) 如果选择了q1并且用户输入==a1:stuff发生 其他事情也会发生 我不知道如何告诉计算机记住选择了哪

我想发生的事:

Python从列表中选择一个随机问题并提示用户输入,然后检查答案输入的索引值(因此
a1
=
0
)是否与所选问题的索引匹配

下面是一个例子:

questionsList = [q1,q2]
answersList = [a1,a2] 
其中,
a1
是对
q1
的回答,
a2
是对
q2
的回答,依此类推

answer = input(random.choice(questionsList))
如果选择了q1并且用户输入==a1:stuff发生

其他事情也会发生


我不知道如何告诉计算机记住选择了哪个问题,并检查该问题的索引值是否等于答案的索引值。

将它们压缩在一起,然后选择一对

pairList = zip(questionsList, answersList)
pair = random.choice(pairlist)

我建议不要保留两个不同的列表,可以保留一个元组列表,元组的第一个元素是问题,第二个元素是答案。然后使
random.choice()
从该元组列表中选择,然后向用户提问(所选元组的第一个元素),并将用户给出的答案与所选答案(所选元组的第二个元素)进行比较。范例-

import random
q_and_a = [('q1','a1'),('q2','a2'),('q3','a3')]
ques_chosen, ans_chosen = random.choice(q_and_a)
#Use ques_chosen as the chosen question
#Use ans_chosen as the chosen answer.
q_and_a = zip(questionsList, answersList) #You would need `list(zip(..))` for Python 3.x
如果要通过编程从两个列表创建此元组列表,可以使用
内置的
函数
zip()
。范例-

import random
q_and_a = [('q1','a1'),('q2','a2'),('q3','a3')]
ques_chosen, ans_chosen = random.choice(q_and_a)
#Use ques_chosen as the chosen question
#Use ans_chosen as the chosen answer.
q_and_a = zip(questionsList, answersList) #You would need `list(zip(..))` for Python 3.x

我想这就是你发现的

# random int beetwen your questionsList bounds
random_question = random.randint(0, len(questionsList))

# Show questions, and read user's answer  
answer = input(questionsList[random_questions]))

# If user's answer is the same that the answer stored in list...
if answer == answerList[random_questions] :

    # STUFF HAPPENS

# else, if answer is bad...
else:

    # OTHER STUFF HAPPENS