Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多答案测验_Python_Csv - Fatal编程技术网

Python 多答案测验

Python 多答案测验,python,csv,Python,Csv,我目前正在用Python做一个测验,所有的问题都存储在一个csv数据库中。在测验中,我很难对一个问题有多个答案。注意:我没有这台计算机上的代码,所以我很快就按照下面的行编了一些东西: file=open("easydatabase.csv","r") answer = input("\n" + detail[0]) for line in file: details=line.split(",") if details[1] == answer:

我目前正在用Python做一个测验,所有的问题都存储在一个csv数据库中。在测验中,我很难对一个问题有多个答案。注意:我没有这台计算机上的代码,所以我很快就按照下面的行编了一些东西:

file=open("easydatabase.csv","r")
answer = input("\n" + detail[0])
    for line in file:
        details=line.split(",")
        if details[1] == answer:
            print("Correct! Added 1 to your score.")

我遇到的主要问题是正确的答案等于csv文件中的多个单元格,感谢高级版的帮助!(我尝试过不同的事情,比如写“细节[1,2]”,但我运气不好)

如果你知道答案在哪个特定的单元格中,你可以在你的If语句中使用“or”或“or”和“conditional”,这取决于你将采用什么样的答案


如果您正在“详细信息”列表中查找任何匹配的答案,您可以使用包含所查找内容的条件If语句在“详细信息”列表中循环。

因此,如果您希望它检查多个项目中的匹配项,您可以在中使用
。大概是这样的:

answer = 'correct answer'
multiple_choice = ['wrong answer', 'also wrong', 'correct answer']
if answer in multiple_choice:
    print("Correct! Added 1 to your score.")

请阅读有关创建的内容,并提供
easydatabase.csv
的文件格式示例。我需要使用一个数据库(我使用的是一个csv),其中问题和答案都存储在其中,我很想创建一个数组,但这是一项任务。遗憾的是,这仍然适用于您希望如何使用它,如果您愿意,您可以做
如果详细回答[1::][/code>检查除第一项之外的所有项目,除非我误解了您的文件结构。行拆分时,“详细信息”是该行中所有项目的列表。假设第1列是用户的答案,而其他列的答案是正确的,您仍然可以在
中使用
,检查单个答案是否为多个答案。如果没有,请提供您的csv的更多详细信息。我试图使用or语句(这是我写的):如果答案==(详细信息[1])或(详细信息[2]),但它允许我输入任何答案,并告诉我它是正确的。我编辑了上面的评论,尝试使用“和”语句。使用and语句意味着两个答案都需要输入,很抱歉,如果我的措辞不好,但是有一个问题,并且该问题有多个答案,那么它需要是一个“或”语句,带有如下条件:
if answer==details[1]或answer==details[2]: