如何 Select 在文件中重复出现文本
How to Select Recurring Text in a File
我正在编写代码,用户可以在其中输入多项选择中的一个选项。无论他们给出什么答案,例如 "a" 或 "b",都会被写为 "Correct" 或 "Not Correct" 到一个单独的文本文件中,(StudentAnswers.txt)。
很明显,新的文本文件会填充多行"Correct",而"Incorrect"
这部分已经实现了,但是有人可以告诉我如何创建读取文本文件 "StudentAnswers" 的代码,并且如果循环 "Correct" 值的总数大于或等于一半,打印 "Passed",否则打印 "Fail"
希望大家理解。谢谢
您可以读取文件行并针对 "Correct" 或 "Not Correct".
过滤它们
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"
我正在编写代码,用户可以在其中输入多项选择中的一个选项。无论他们给出什么答案,例如 "a" 或 "b",都会被写为 "Correct" 或 "Not Correct" 到一个单独的文本文件中,(StudentAnswers.txt)。 很明显,新的文本文件会填充多行"Correct",而"Incorrect"
这部分已经实现了,但是有人可以告诉我如何创建读取文本文件 "StudentAnswers" 的代码,并且如果循环 "Correct" 值的总数大于或等于一半,打印 "Passed",否则打印 "Fail"
希望大家理解。谢谢
您可以读取文件行并针对 "Correct" 或 "Not Correct".
过滤它们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"