Python

Задача в Python

Дан список: a = [8 (+), 3 (-), 5 (+), 7 (-),4 (+)]. Найти сумму чисел. Как-то через индексы решить
Решение в лоб:
 a = [8, 3, 5, 7, 4]
print(sum([a[i], -a[i]][i % 2] for i in range(len(a))))
Решение БЕЗ индексов:
 import functools 
a = [8, 3, 5, 7, 4, 8, 33]
print(functools.reduce(lambda x, y: y - x, a) * [-1, 1][len(a) % 2])
Владимир Уйсимбаев
Владимир Уйсимбаев
65 074
Лучший ответ
vlf
a = [8, -3, 5, -7, 4] # Убрал символы "+" и "-" для чисел

sum_positive = 0
sum_negative = 0

for i in range(len(a)):
if a[i] > 0:
sum_positive += a[i]
else:
sum_negative += a[i]

print("Сумма положительных чисел:", sum_positive)
print("Сумма отрицательных чисел:", sum_negative)
Для нахождения суммы чисел из данного списка в Python можно воспользоваться циклом `for` и условным оператором `if`, чтобы отфильтровать положительные и отрицательные числа. Вот как это можно сделать:

```
a = [8, -3, 5, -7, 4] # список чисел
sum_pos = 0 # сумма положительных чисел
sum_neg = 0 # сумма отрицательных чисел

for num in a:
if num > 0:
sum_pos += num
else:
sum_neg += num

print("Сумма положительных чисел:", sum_pos)
print("Сумма отрицательных чисел:", sum_neg)
```

Этот код выведет на экран сумму положительных чисел в списке `a` (в данном случае - 17) и сумму отрицательных чисел в списке (в данном случае -10). Если нужно получить сумму всех чисел в списке, достаточно сложить суммы положительных и отрицательных чисел:

```
sum_all = sum_pos + sum_neg
print("Сумма всех чисел в списке:", sum_all)
```

Этот код выведет на экран сумму всех чисел в списке `a` (в данном случае 7).