Почему выскакивает "EOFError: EOF when reading a line"?

y1 = int(input())
r = int(input())
if abs(y1) <= abs(r) and ((y1 > 0 and r < 0) or (y1 < 0 and r > 0)):
 if  r > 0: y2 = y1 + r + 1
elif r < 0:
 y2 = y1 + r - 1
else: y2 = y1 + r 
print( "y2" )       

выскакивает ошибка

Traceback (most recent call last):
  File "script.py", line 2, in <module>
    y1 = int(input())
EOFError: EOF when reading a line

Кто подскажет как должно быть и почему?


Ответы (1 шт):

Автор решения: Werryx

EOFError возникает при нажатии CTRL-D.

Кстати лучше делать так, чтобы в input-ах был текст и надо выводить не текст "y2", а переменную y2:

y1 = int(input("Введите y1: "))
r = int(input("Введите r: "))

if abs(y1) <= abs(r) and ((y1 > 0 and r < 0) or (y1 < 0 and r > 0)):
    if  r > 0: y2 = y1 + r + 1
elif r < 0:
    y2 = y1 + r - 1
else:
    y2 = y1 + r 

print(y2)

Можно ещё делать и try except на input, чтобы можно было вводить только числа

→ Ссылка