Очередная моя программулина в процессе изучения Питона:
'''(16) Дан одномерный массив числовых значений, насчитывающий N элементов. Добавить к элементам массива такой новый элемент, чтобы сумма элемен- тов с положительными значениями стала бы равна модулю суммы элемен- тов с отрицательными значениями.''' import math a=[1, -6, -5, 8, 4, -2, -8, 0, 2, 6, 9, -4, 5] # Исходный p=0 m=0 for i in a: if a[i]>0: p=p+a[i] # Положительные (сумма) elif a[i]<0: m=m+int(math.fabs(a[i])) # Отрицательные (сумма модулей) else: continue print('p=',p) print('m=',m) a.append(m-p) print('a new=',a)
Соответственно, вывод результата:
p= 21 m= 27 a new= [1, -6, -5, 8, 4, -2, -8, 0, 2, 6, 9, -4, 5, 6]
Всё хорошо, только при ручном счёте получается, что сумма положительных p= 35, а отрицательных m= -25. Помогите, пжлста, разобраться, а то крыша уже ехать начинает.