我是编程新手,我正在尝试编写一个接受文件名作为参数的函数。此函数应该打开文件,读取它,如果文件包含“”,则返回True在文本文件的每一行中。 输入文件可以一次或多次具有指定字符。 到目前为止,我的情况是:
def char_finder(filename):
inputFile = open(filename, "r")
for line in inputFile:
if '?' in line:
return True
else:
return False
inputFile.close
print(char_finder("inputfile.txt"))
我花了几个小时寻找每一个可能的类似的解决方案,但没有结果。你知道吗
可以使用
all()
确保所有行都通过了条件。例如:您面临的主要问题是,您将在第一次迭代中返回。
return
将结束函数的执行。你知道吗如果要检查是否所有行都包含“?”,则检查应该是在未找到“?”时返回的内容。如果您设法耗尽您的迭代,那么所有的行都有'?'你只需返回真值。你知道吗
此外,请注意,文件的读取现在使用的是上下文管理器,这在这里是一种更干净的方法。你知道吗
最后,要完全重构它,我们可以使用all函数,它将遍历每一行,一旦发现不匹配的条件,它就会短路。这几乎就是上面显示的,但所有的工作都是为我们做的:
相关问题 更多 >
编程相关推荐