微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何解决以下代码中的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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。