Arrays 如何根据2D数组验证用户输入

Arrays 如何根据2D数组验证用户输入,arrays,python-3.x,Arrays,Python 3.x,需要验证用户输入的帮助。在二维数组中存储问题和答案的情况下进行测验 Array3x2 = [['Question 1 what is 100*10/2: ','Question 2 what is 20*10*5: ','Question 3 what is 300*20: '], [500,1000,6000]] question_1 = input(Array3x2[0][0]) if question_1 == Array3x2[0][1]: print('correct')

需要验证用户输入的帮助。在二维数组中存储问题和答案的情况下进行测验

Array3x2 = [['Question 1 what is 100*10/2: ','Question 2 what is 20*10*5: 
','Question 3 what is 300*20: '],
[500,1000,6000]]

question_1 = input(Array3x2[0][0])
if question_1 == Array3x2[0][1]:
    print('correct')

它运行,但不验证输入,只是再次循环。一个更大程序的一部分,这就是我所说的再次循环的意思,你在比较它们时犯了一个错误。您的代码应该如下所示

Array3x2 = [['Question 1 what is 100*10/2: ','Question 2 what is 20*10*5:','Question 3 what is 300*20: '],
[500,1000,6000]]

question_1 = int(input(Array3x2[0][0])) # Type cast
if question_1 == Array3x2[1][0]: # Answers are in the 1st array and not in the 0th array
    print('correct')
您正在比较错误的索引。您应该将其与第一个数组中的第0个元素进行比较。您正在将第0个答案与第1个问题进行比较。此外,您还需要对从控制台接收到的输入进行类型转换。始终将输入读取为字符串,并将其与整数进行比较

          0                               1                              2
 Array 0 ['Question 1 what is 100*10/2: ','Question 2 what is 20*10*5: ','Question 3 what is 300*20: ']

           0    1   2
 Array 1 [500,1000,6000]

检查上述代码,它应该可以正常工作

在python 3中,input命令以字符串形式返回用户输入值。
我稍微整理了一下代码,这似乎很有效

quiz = [["Question 1 what is 100*10/2: ", 500], ["Question 2 what is 20*10*5: ", 1000],
    ["Question 3 what is 300*20: ", 6000]]

for question, answer in quiz:
    user_input = int(input(question))
    if user_input == answer:
        print("Correct!")
    else:
        print("Incorrect")

这些是列表,不是数组。Python中存在差异。请展示一个示例运行,演示非功能性验证。此外,数组索引是反向的,您将比较字符串输入和整数,而整数总是假的。到底是什么东西在循环?问题是什么?