问题描述
在下面的代码中,我在第 2 行收到 EOF 错误。但我发现代码中有错误。有人可以帮我解决这个问题。
代码:
from datetime import datetime
a = int(input())
while a != 0:
initial_time = input()
initial_time = datetime.strptime(initial_time,"%I:%M %p")
n = int(input())
emp_str = ""
while n != 0:
inp = input()
start_time = datetime.strptime(inp[:8],"%I:%M %p")
end_time = datetime.strptime(inp[9:],"%I:%M %p")
if initial_time >= start_time and end_time >= initial_time:
emp_str += "1"
else:
emp_str += "0"
n -= 1
print(emp_str)
a -= 1
错误:
Traceback (most recent call last):
File "./prog.py",line 2,in <module>
EOFError: EOF when reading a line
解决方法
我已经使用 try 和 except 块解决了这个问题,如下所示:
from datetime import datetime
try:
a = int(input())
while a != 0:
initial_time = input()
initial_time = datetime.strptime(initial_time,"%I:%M %p")
n = int(input())
emp_str = ""
while n != 0:
inp = input()
start_time = datetime.strptime(inp[:8],"%I:%M %p")
end_time = datetime.strptime(inp[9:],"%I:%M %p")
if initial_time >= start_time and end_time >= initial_time:
emp_str += "1"
else:
emp_str += "0"
n -= 1
print(emp_str)
a -= 1
except EOFError as e:
pass