我编写代码,用户可以从多项选择中输入一个选项。无论他们给出什么答案,例如" a"或" b",写成"正确"或"不正确"到一个单独的文本文件,(StudentAnswers.txt)。 显然,新文本文件将填充多行"更正"和"不正确"
这部分已经实现,但有人可以告诉我如何创建一个代码来读取文本文件" StudentAnswers",以及是否重复的总数"正确"值大于或等于一半,打印"通过",或者如果不打印"失败"
希望你们明白。感谢。
答案 0 :(得分:0)
您可以阅读文件行并过滤它们以及#34;正确"或者"不正确"。
lines = open(file).readlines()
total = len(lines)
totalOK = len(filter( lambda x: x == "Correct\n") lines)
if totalOK >= total / 2:
print "Passed"
else:
print "Failed"
如果您不熟悉lambda
和filter
,可以这样做:
def countOK ( lines ):
cnt = 0
for i in lines:
if i == "Correct\n":
cnt += 1
return cnt
...
lines = open( file ).readlines()
total = len( lines )
totalOK = countOK (lines)
if totalOK >= total / 2:
print "Passed"
else:
print "Failed"