如何解决以下代码中的EOF错误?

问题描述

在下面的代码中,我在第 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