运行简单的代码时,我会遇到EOF错误。有人可以向我解释EOF吗?

时间:2017-02-23 15:39:52

标签: python-3.x

is42 = False
while True:
    d = int(input())
if d == 42:
    is42 = True
if not is42:
    print(d)

我的输入如下

  

1

     

4

     

23

     

42

     

58

我的输出如下

  

1

     

4

     

23

然后发生错误

  

追踪(最近一次通话):     文件" ./ prog.py",第5行,in   EOFError:读取行时的EOF

我正在做一个spoj问题,它说要重新打印所有输入,直到42出现。计算机如何查看和处理或更好的是什么是EOF(文件结束)错误?

1 个答案:

答案 0 :(得分:0)

我尝试重新创建你的错误,似乎没有发生在我身上。但是你提供的代码是错误的。 while循环将永远持续。

这应该做你想要的。

while True:
    d = int(input())
    if d == 42:
        break
    print(d)