Как исправить ошибку EOFError: EOF when reading a line?
Моя задача посчитать сумму чётных чисел числа, введённого пользователем. Вот мой код:
x = int(input())
while x > 0:
if( (x % 10) // 2 == True):
x += x
x = int(input())
print(x)
Выдаёт ошибку :
Traceback (most recent call last):
File "jailed_code", line 6, in
x = int(input())
EOFError: EOF when reading a line
Что я сделал не так?
Не касается основного вопроса по ошибке, но в целом в решении подход не правильный. Используйте разные переменные для разных целей. Вы берете заданное число в переменную x, а затем её же переопределяете в цикле. У вас получится совсем не то, что нужно.
Когда нужно что-то перебрать, проще использовать цикл for for i in range(x):
будет перебирать в переменную i все числа в диапазоне от 0 до x
Более того, можно использовать и другие параметры, в результате чего сразу перескакивать через 2 значения for i in range(2,x,2):
x = int(input())
a = 0
while x > 0:
if( (x % 10) // 2 == True):
a += x
x = int(input())
print(a)
Я разделил данные переменные. Но почему-то снова получаю ошибку
proxor2001, может запускаете в интерпретаторе Python 2 а не 3.
Что за интерпретатор, киньте ссылку на этот свой repl.
По коду: зачем заново запрашиваете ввод пользователя, число же единственное. Во-вторых, в цикле число должно изменяться, иначе условие никогда не станет ложным и цикл не закончится.