45
Дан одномерный массив числовых значений, насчитывающий N элементов. Добавить к элементам массива такой новый элемент, чтобы сумма элементов с положительными значениями стала бы равна модулю суммы элементов с отрицательными значениями
Решение:
import random N = 11 def init_random_list(list_size): list = [] while list_size > 0: list.append(random.randint(-3, 3)) list_size = list_size - 1 return list lst = init_random_list(N) sum_positive = 0 sum_negative = 0 print("Исходный массив: ", lst) for element in lst: if element >= 0: sum_positive += element else: sum_negative += element * -1 if sum_positive > sum_negative: lst.append(sum_negative - sum_positive) elif sum_positive < sum_negative: lst.append(sum_negative - sum_positive) print("Сумма положительных чисел", sum_positive) print("Модуль суммы отрицательных чисел", sum_negative) print("Массив после модификации", lst)
46
Дан одномерный массив числовых значений, насчитывающий N элементов. Дано положительное число T. Разделить это число между положительными элементами массива пропорционально значениям этих элементов и добавить полученные доли к соответствующим элементам.
def create_array(array,t): res=[] for element in array: if element>0: res.append(element+element/t) else: res.append(element) return res array=[2,1,0,-1,3,4,-2,4] print (create_array(array,15.0))
47
Дан одномерный массив числовых значений, насчитывающий N элементов. Исключить из массива элементы, принадлежащие промежутку [B; C].
def create_array(array,b,c): res=[] for element in array: if element >=b: if element <=c: continue res.append (element) return res array = [2,1,0,-1,3,4,-2,4] print (create_array(array,1,3))