为什么我的正确答案在每个循环的同一个地方?

时间:2017-10-30 07:18:05

标签: python python-3.x

我的程序是一个基本的数学测验,我的正确答案被插入到列表中,这是我对每个问题的答案选项。对于每个新问题,我的正确答案都在同一个地方,但我希望每次都在不同的地方。这是我的代码:

from random import randint
quiz_options=[["What is 1+1?", "2",["1","3","4","5"]],
          ["What is 5+10?", "15",["12","34","42","25"]],
          ["What is 16*2?", "32",["69","34","38","72"]],
          ["What is 10/5?", "2",["15","7","10","5"]]]

randomo=randint(0,5)
w=0
for question in quiz_options:
    quiz_options[w][2].insert(randomo,quiz_options[w][1])
    print (quiz_options[w][0])
    n=1
    for choice in quiz_options[w][2]:
         print(n ,") -", choice)
         n=n+1
    user_choice= int(input("Your answer: "))
    if user_choice == quiz_options[w][2].index(quiz_options[w][1])+1:
         print("correct")
    else:
         print("incorrect")
    w=w+1

这是一个例子:

What is 1+1?
1 ) - 2
2 ) - 1
3 ) - 3
4 ) - 4
5 ) - 5
Your answer: 1
correct
What is 5+10?
1 ) - 15
2 ) - 12
3 ) - 34
4 ) - 42
5 ) - 25
Your answer: 1
correct

看看答案是在同一个地方?我怎么能这样做呢?每次都在不同的地方?

1 个答案:

答案 0 :(得分:2)

这是因为您生成一次随机位置并将其用于所有问题。

randomo=randint(0,5)

在for循环中移动此行,然后每个问题都会有一个新的随机位置。