Python:检查列表a中的索引是否=输入=列表b中的索引
我想发生的事: Python从列表中选择一个随机问题并提示用户输入,然后检查答案输入的索引值(因此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发生 其他事情也会发生 我不知道如何告诉计算机记住选择了哪
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