EOFError, даже после попытки попробовать и кроме блока - PullRequest
0 голосов
/ 20 января 2019

Может ли кто-нибудь указать причину, по которой он отображается.После подтверждения ввода я подтверждаю его как python, так как нечего читать.

Python 3.6

    #!/bin/python3

import math
import os
import random
import re
import sys

while True:
    try:
        N = int(input())
    except EOFError:
        return
#N = int(input())


if N % 2 != 0:
    print("Wierd")
elif N % 2 == 0 and N in range(2, 6):
    print("Not Wierd")
elif N % 2 == 0 and N in range(6, 21):
    print("Wierd")
elif N % 2 == 0 and N > 20:
    print("Wierd")



if __name__ == '__main__':
    N = int(input())

сообщение об ошибке

Traceback (most recent call last):
  File "solution.py", line 27, in <module>
    N = int(input())
EOFError: EOF when reading a line
Blockquote

1 Ответ

0 голосов
/ 22 января 2019

return работает только тогда, когда вы находитесь внутри функции и хотите выйти из этой функции.В этом случае вы просто хотите завершить цикл while, поэтому вам следует использовать ключевое слово * 1002.

Также в данном вопросе вам просто нужно прочитать одно целое число (я полагаю, вы работаете над чем-то другим?)

import math
import os
import random
import re
import sys

while True:
    try:
        N = int(input())
    except EOFError:
        break
#N = int(input())


if N % 2 != 0:
    print("Wierd")
elif N % 2 == 0 and N in range(2, 6):
    print("Not Wierd")
elif N % 2 == 0 and N in range(6, 21):
    print("Wierd")
elif N % 2 == 0 and N > 20:
    print("Wierd")



if __name__ == '__main__':
    N = int(input())
...