Отрицательные элементы увеличить на 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()))