基本上,我必须检查一行中是否出现了特定的图案。如果是,我就打印该行,否则就不打印。以下是我的代码
p = input()
while 1:
line = input()
a=line.find(p)
if a!=-1:
print(line)
if line=='':
break
这段代码似乎不错,被认为是正确答案。但有一个问题。我遇到了运行时错误 EOFError:在读取代码测试网站忽略的一行时,出现了 EOF 错误。
我有三个问题:
没有什么会被忽略。根据 文档 input
在遇到文件结束条件时会引发 EOFError。从本质上讲,input
会让你知道我们到此为止,没有什么可读的了。你应该等待这个异常,一旦出现,就从函数中返回或终止程序。
def process_input():
p = input()
while True:
try:
line = input()
except EOFError:
return
a = line.find(p)
if a != -1:
print(line)
if line=='':
return