需要帮助验证用户输入。进行测验,将问题和答案存储在2D数组中
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')
它运行但不验证输入,只是再次循环。这就是我所说的更大程序的一部分
答案 0 :(得分:1)
比较它们时您犯了一个错误。您的代码应为以下代码。
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个答案与第一个问题进行比较。另外,您需要转换从控制台接收的输入。始终将输入读取为字符串,并将其与整数进行比较。
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]
检查上面的代码,它应该可以正常工作。
答案 1 :(得分:0)
在python 3中,输入命令以字符串形式返回用户输入值。
我整理了一下代码,这似乎运行良好。
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")