【发布时间】:2021-10-13 22:39:39
【问题描述】:
我创建了简单的 python 测验应用程序,在其中我将选项、答案和问题保存到空列表。但是当我开始测验时,我的正确答案没有与正确问题映射,我只是将答案附加到列表中,如果有两个问题中常见的选项,但一个问题中的正确答案和另一个问题中的错误答案仍然会显示正确答案因为它只是检查“正确答案”列表并且列表是随机的,所以我不知道如何将我的问题准确地映射到特定答案,请如果有人可以提供帮助
import itertools
question_list = []
option_list = []
correct_answer = []
def main_content():
score = 0
main = '1. Add question \n2. Show question \n3. quiz \n4. Exit'
print(main)
a = input('enter the value:')
int_a = int(a)
if a == '1':
b = int(input('How many questions you want:'))
for x in range(b):
question_list.append(input('Enter your question:'))
o = input('Option A:')
p = input('Option B:')
m = input('Option C:')
r = input('Option D:')
q = 'A):{}\nB):{}\nC):{}\nD):{}'.format(o, p, m, r)
option_list.append(q)
correct_answer.append(input('Put your answer here:'))
main_content()
if a == '2':
if len(question_list) == 0:
print('There are no question')
else:
for question, choices in zip(question_list, option_list):
print(question)
main_content()
if a == '3':
if len(question_list) == 0:
print('There are no question')
else:
for question, choices, correct_choice in zip(question_list, option_list, correct_answer):
print(question)
print(choices)
user_answer = input('Enter your answer here:')
if user_answer in correct_answer:
print("Correct")
score += 1
print(score, "out of", len(question_list),"that is", float(score / len(question_list)) * 100, "%")
else:
print('False Answer')
print('Your score is', score, "out of", len(question_list), "that is", float(score / len(question_list)) * 100, "%")
main_content()
if a == '4':
exit()
【问题讨论】:
-
不要组合选择。将它们作为 4 个单独的字符串保存在一个列表中,并保留正确答案的索引。
标签: python