2017-02-23 2 views
0
is42 = False 
while True: 
    d = int(input()) 
if d == 42: 
    is42 = True 
if not is42: 
    print(d) 

次のように私の入力は簡単なコードを実行すると、EOFエラーになります。誰かが私にEOFを説明することはできますか?

1

4

23

を次のように私の出力がある

1

4

23

42

58

エラーが

Traceback (most recent call last): File "./prog.py", line 5, in EOFError: EOF when reading a line

私はspojの問題をやっているし、それが言うに起こるですすべての入力を再印刷するまで42が表示されます。どのようにしてコンピュータはEOF(End of File)エラーを見て対処するのですか?

+0

あなたはいつループから脱出しますか? – Yousaf

答えて

0

あなたのエラーを再現してみましたが、私のために起こっていないようです。しかし、あなたが与えたコードは間違っています。 whileループは永遠に続くでしょう。

これは、必要な操作を行う必要があります。

while True: 
    d = int(input()) 
    if d == 42: 
     break 
    print(d) 
関連する問題