Отрицательные элементы увеличить на 2

У меня есть код, который должен отрицательные элементы увеличить на 2

x = int(input())
n = len(x)
for i in range(n):
if x[i] < 0:
    x[i] += 2
print(x)

Результат:

введите сюда описание изображения Что я делаю не правильно, укажите пожалуйста на мою ошибку


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

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

В своем коде Вы пытались преобразовать строку в с несколькими числами в int. А это делается так: "1 2 3 4 5".split() - сначала разделяем через пробел, берем отдельно все числа, как строки. А потом для каждой такой строки преобразовываем ее в int().

x = list(map(int, input().split()))
n = len(x)

for i in range(n):
    if x[i] < 0:
        x[i] += 2
    print(x[i])

Вариант в одну строку:

print(list(map(lambda x: int(x) + 2 * (int(x) < 0), input().split())))
→ Ссылка
Автор решения: Danis

Вы вводите значение через пробел и int не может их превратить в число

разделяем значение по пробелу:

input().split()

Далее с помощью цикла превращаем все значения в число

res = []
for el in input().split():
    res.append(el)

Но лушче испольщовать map

res = list(map(int, input().split()))
→ Ссылка