Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 7

Найти сумму элементов массива между первым и последним положительными элементами

19.01.2021, 23:50. Показов 4964. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти сумму элементов массива, расположенных между первым и последним
положительными элементами.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2021, 23:50
Ответы с готовыми решениями:

Вычислить сумму элементов, расположенных между первым и последним положительными элементами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Количество элементов массива, равных нулю. 2.Сумму...

Найти сумму чётных элементов во второй половине массива; количество чисел расположенных между первым и последним
Задан массив целых чисел X(n). Найти -сумму чётных элементов во второй половине массива; -количество чисел расположенных между первым и...

Найти сумму элементов, расположенных между первым и последним положительными элементами
Задание. 1.Минимальный элемент массива. 2.Сумму элементов, расположенных между первым и последним положительными элементами. ...

5
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
20.01.2021, 16:42
Лучший ответ Сообщение было отмечено Fury67 как решение

Решение

Python
1
sum(data[1: -1])
Сейчас поправлю на положительные, не прочитал.

Добавлено через 16 минут
Python
1
2
3
4
5
6
7
8
9
10
data = [1, 1, 1, 1, 1, 1]
first, second = None, None
for i in range(len(data)):
    if first == None and data[i] > 0:
        first = i
    if second == None and data[-i - 1] > 0:
        second = -i - 1
    if first and second:
        break
print(sum(data[first + 1: second]) if first != None and second != None else 'не найдено достаточно положительных елементов')
Если найболее просто. Позже может более интересный вариант напишу.
1
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
20.01.2021, 16:58
Python
1
(lambda a: (lambda b: print('Error' if len(b) < 2 else sum(a[b[0] + 1:b[-1]]))) ([i for i, j in enumerate(a) if j > 0])) (list(map(float, input().split())))


Добавлено через 1 минуту
Правда, мне не нравится, что дважды lambda, но что-то не получилось единожды создать b из a, ибо все время ругалось на неопределённость a.
1
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
20.01.2021, 17:02
Fury67, хорош. Только есть один косяк (или не косяк): сумма пустого множества должна быть равна 0, а не "Error", имхо. В т. ч. тест: "-5 -5".
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
20.01.2021, 17:05
Arsegg, ну, наверное, но не так важно. Спасибо за поправку.

P.S. Но так писать в одну строчку точно не надо, все ругаются))))
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
20.01.2021, 17:33

Не по теме:

Цитата Сообщение от Fury67 Посмотреть сообщение
Но так писать в одну строчку точно не надо, все ругаются))))
Шепни на ухо, кто ругается.

P. S. Если читаемость не страдает, то однострочник - очень даже хорошо, имхо.


/upd
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
In [1]: def sumBetweenFirstAndLastPositiveElements(a):
    ...:     size = len(a)
    ...:     first = next((i for i, x in enumerate(a) if x > 0), 0)
    ...:     last = size - next((i for i, x in enumerate(reversed(a)) if x > 0), size)
    ...:     return sum(a[first:last])
    ...:
 
In [2]: assert sumBetweenFirstAndLastPositiveElements((1, 2, 3,)) == 6
 
In [3]: assert sumBetweenFirstAndLastPositiveElements((-1, -2, -3,)) == 0
 
In [4]: assert sumBetweenFirstAndLastPositiveElements((-1, 2, -3,)) == 2
 
In [5]: assert sumBetweenFirstAndLastPositiveElements((1, -2, 3,)) == 2
 
In [6]: assert sumBetweenFirstAndLastPositiveElements((1, -2, -3,)) == 1
 
In [7]: assert sumBetweenFirstAndLastPositiveElements((-1, -2, 3,)) == 3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2021, 17:33
Помогаю со студенческими работами здесь

Вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами
В одномерном массиве, состоящем из n вещественных элементов, вводимых с клавиатуры вычислить сумму элементов массива, расположенных между...

Найти произведение элементов массива, расположенных между первым и последним отрицательными элементами
Задан массив вещественных чисел Х(n). Найти произведение элементов массива, расположенных между первым и послендним отрицательными...

Найти сумму элементов массива, расположенных между 1 и 2 положительными элементами массива
кароч надо в эту прогу засунуть :&quot;сумму элементов массива,расположена между 1 и 2 положительными элементами.&quot; from random import...

Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Дан массив целых чисел. Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

Найти сумму элементов массива между первым и последним положительными элементами
Написал код который выполняет несколько функций. 1. Выносит элементы массива на экран. 2. Находит наименьший элемент. 3. Сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru