функция python для нахождения суммы положительных чисел в массиве
Мне нужно написать функцию, которая принимает массив чисел и находит максимальную сумму всех чисел. Другими словами, мне нужно найти сумму только положительных чисел. Я написал это, я получаю «список вне диапазона», мысли?
def maximum_sub(A): x = 0 i = 0 for i in A: while A[i] > 0: x+=A[i] i+=1 return x
Для вашего for петли. Вы пытались напечатать i чтобы увидеть, что он на самом деле делал, прежде чем написать свое while ?
Вместо того, чтобы время, вы можете пойти с, if . Примите во внимание комментарий кодера, а также посмотрите на ваш отступ.
2 ответа
Вместо этого используйте суперфункции и понимание списка:
>>> a = [1, 2, 3, -4, 5, -3, 7, 8, 9, 6, 4, -7] >>> sum(x for x in a if x > 0) 45
[x for x in a if x > 0] создаст массив из положительных значений в a . sum(. ) вернет сумму элементов в этом массиве.
@UrielEli, отличный ответ, но почему вы просто не делаете: sum(i for i in a if i>0) ?? . также +[0] вам это не нужно
Да, выражение генератора будет быстрее, и на самом деле нет смысла делать это дополнительно [0] . Если оценивать нечего или вы предоставляете пустой список, результатом будет просто 0, что в значительной степени соответствует вашим ожиданиям.
Есть более эффективные подходы с суммами и пониманиями, но я предполагаю, что вы пишете функцию как упражнение в алгоритмах.
Вам не нужен цикл while. Используйте if, чтобы проверить, является ли он положительным, и добавьте его в сумму. В противном случае ничего не делайте. Цикл for автоматически перебирает значения для вас.
def maximum_sum(A): x = 0 for i in A: if i > 0: x += i return x
Несколько советов: назовите вещи выразительно. Вот некоторые имена, которые я мог бы использовать:
def maximum_sum(arr): max_sum = 0 for num in arr: if num > 0: max_sum += num return max_sum
Вычислить сумму и количество положительных элементов массива
Вычислить сумму и количество положительных, сумму и количество отрицательных элементов массива
Помогите пожалуйста сдалать следующие 2 задачи : 1)вычислить сумму и количество положительных.
Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю
В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество положительных.
Вычислить сумму элементов массива А, количество положительных элементов массива В и его максимальный элемент
Дано натуральное число n, массивы А и В размерностью n. Вести с клавиатуры элементы массивов и.
Вычислить сумму и количество положительных, произведение и количество отрицательных элементов массива
Дан целочисленный массив размера N. Вычислить сумму и кол-во положительных, произведение и кол-во.
Сообщение было отмечено Kolyanus12 как решение
Решение
X = [1,32,6,-8,-6,8,9] #не полностью понял какой тебе массив нужен, так что поправишь count = 0 Sum = 0 for i in X: if i > 0: count += 1 Sum += i print('Сумма: ', Sum) print("Количество: ", count)
Вычислить сумму и количество положительных элементов массива х
Помогите задачу . Массив х 10. Вычеслите сумму и кол-во положительных элементов массива х. х -.
Вычислить сумму и количество положительных элементов массива
Вычислить сумму и количество положительных элементов массива X(n), где 1<=n<=100 Буду очень.
Вычислить сумму и количество положительных элементов массива
Создать произвольный массив из 15 целых чисел m(15). Вычислить количество и сумму положительных.
Вычислить сумму и количество положительных элементов массива
Вычислить z=( s1+s2 )/(k1k2), где s1 і k1 – сумма и количество положительных елементов массива.
Вычислить сумму и количество положительных элементов массива
Вычислить сумму и количество положительных элементов массива X(n), где 1<=n<=100 Буду очень.
Вычислить сумму и количество положительных элементов массива
Ребят, нужна помощь, с решением. Понятия не имею что нужно делать. Может для вас это не составит.
Сумма всех положительных элементов числового массива
Сумма всех положительных элементов массива
Делаю задачу, застрял на нахождении суммы положительных элементов массива. import.
Сумма всех положительных элементов массива
Добрый вечер, столкнулся с такой задачкой, необходимо задать массив с 20 элементами и посчитать.
Составить программу для вычисления по формуле X — сумма всех элементов массива; Y — произведение положительных
Составить программу для вычисления по формуле X — сумма всех элементов массива; Y -.
def sum_pos(arr): return sum(x for x in arr if x > 0) a = [1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 99] print(sum_pos(a))
def sum_pos(arr): return sum(filter(lambda x: x>0, arr))
Найти разницу R = M-L, где M — сумма положительных элементов массива A (7), а L — сумма положительных элементо
Найти разницу R = M-L, где M — сумма положительных элементов массива A (7), а L — сумма.
Изменение всех элементов числового массива
Добрый день. Существует ли в php функция, которя бы меняла сразу все значения числового массива.
Сумма положительных и отрицательных чисел в массиве
Сумма всех отрицательных чисел в массиве после двух положительных
Добрый вечер. Помогите, пожалуйста, с решением задачи: Дан массив действительных чисел A.
В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму положительных элементов
2.В массиве A, содержащем 10 положительных и отрицательных целых чисел, вычислить сумму.
Сумма положительных и отрицательных чисел массива
Разработка программы на языке ассемблера для CPU i8086, высчитывающей суммы положительных и.
Сумма четных(положительных,отрицательных)чисел
Подскажите,как будет вяглядеть программа: Создать форму с элементами в vba: Список из 10.
Сумма отрицательных и положительных целых чисел
Помогите решить задачку 🙂 Дано: В массиве из 20 целых чисел, найти: Сумму положительных и.
Сообщение было отмечено Polina B как решение
Решение
a = [3, -4, -1, 1, -2, 5, 4, 5, -5, -3, -4, 10, -10, 1, -2] sum1 = sum2 = 0 i = 0 while i len(a): if a[i] > 0: sum1 += a[i] else: sum2 += a[i] i += 1 print('Сумма положительных:', sum1, 'Сумма отрицательных:', sum2, sep='\n')
Сумма положительных элементов массива
Задан массив X из N элементов. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S? Вводите ответ без пробелов.
S = 0
for k in range(N):
if . :
S += X[k]
X[k]>0 — ответ не засчитывает.
Сумма всех положительных элементов числового массива
Функция, которая возвращает сумму всех положительных элементов числового массива, переданного ей в.
Добавить к элементам массива такой новый элемент, чтобы сумма положительных элементов стала бы равна модулю суммы
9. Дан одномерный массив числовых значений, насчитывающий N элементов. Добавить к элементам массива.
Сформировать новый массив из положительных элементов первого массива и ненулевых элементов второго массива
Народ, нужна помощь. Есть два задания, на выбор. Заранее большое спасибо! Первое: Сформировать.
Сумма и количество положительных элементов матрицы
Неправильно считает сумму и количество положительных элементов матрицы( import numpy as np .
Сумма и число положительных элементов матрицы над диагональю
Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю.
Сообщение было отмечено krab324 как решение
Решение
Может такой вариант подойдет:
S = 0 for k in range(N): if X[k] 0: continue S += X[k]
sum(filter(lambda x: x > 0 , X))