基本上,我必须检查特定模式是否出现在一行中.如果是,我必须打印该行,否则不打印.所以这是我的代码:
p = input()
while 1:
line = input()
a=line.find(p)
if a!=-1:
print(line)
if line=='':
break
Run Code Online (Sandbox Code Playgroud)
这段代码似乎很好,并被接受为正确的答案.但是有一个问题.我在读取代码测试网站忽略的一行时遇到运行时错误EOFError:EOF.
我有三个问题:1)为什么被忽视?2)如何删除它?3)有没有更好的方法来解决问题?
Gia*_*los 13
没有什么是被忽视的.根据文档 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52191 次 |
| 最近记录: |