随机化测验答案顺序

时间:2017-11-09 19:17:46

标签: python python-3.x

我正在进行测验,随机化测验答案顺序;但是,我坚持如何确保我知道哪一个是正确的答案,以及如何使用字母(例如A),B),C))来格式化它。我正在使用文本文件来提问和答案。

for line in file:
    line = line.strip("\n")
    line=line.split(",")
    question=line[0]
    ans=line[1:QuestionAmount]
    random.shuffle(ans)
    print(question)
    print(*ans)

例如

A)回答3 B)正确的人 C)回答1

然后下次

A)正确的人 B)回答1 C)回答3

我如何知道正确答案中的字母是什么?

3 个答案:

答案 0 :(得分:0)

为什么不在问题的同一行添加文件的答案,所以当你阅读文件时,你也可以用它阅读答案,然后进行比较,看看用户的回答是否正确

A) answer3 B) correctans C) answer1 Ans:B

答案 1 :(得分:0)

只需使用标记(例如星号)开始正确答案即可。 当您打印每个问题的选项时,请从选项前面删除任何前导星号。对于isntance,请将文件更改为

public function up()
{
DB::statement("
CREATE OR REPLACE VIEW users AS
(
  SELECT
    PD.ID AS id,
    PCI.Username AS username,
    PCI.Username AS first_name
  FROM table1.Person PD
  LEFT JOIN table2.Contact PCI ON PCI.ID = PD.ID
)
");

}

在您打印之前,它可能显示为

answer1, *correctans, answer3

然后使用["answer1", "*correctans", "answer1"]

打印每个元素

答案 2 :(得分:0)

import random

line = "Question?,answer3,answer1,correctans,answer4"

line = line.strip("\n")
line=line.split(",")

question=line[0]
ans=line[1:]

print(question)

random.shuffle(ans)
idx = 0

for a in ans :
    a = chr(ord('A')+idx) + ')' + a
    ans[idx] = a
    idx += 1
print(*ans)