Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310

Суммирование массива

05.06.2019, 21:57. Показов 2519. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив чисел в файле. StupenkyData(1).txt Требуется найти наименьшую сумму массива, если можно суммировать либо соседние числа, либо если они находятся друг от друга через одно число.
пример: [1,9,1] -> отв:2
[1,3,2,5,4] -> отв:7
я подумал, что надо смотреть каждые 3 соседних числа и сортировать:
Python
1
2
3
4
5
6
7
8
9
10
11
import re
 
listes_of_path = [r'D:/python/StupenkyData.txt']
c = []
for file in listes_of_path:
    with open(file,'r') as f_in:
        data = f_in.read()
        for i in c:
            if c[i+1]>=c[i] and c[i+2]>=c[i]:
                c.append(i)
print(sum(c))
НО В ОТВЕТ ВЫДАЕТ 0. ПОМОГИТЕ, ПОЖАЛУЙСТА, ИСПРАВИТЬ ОШИБКУ. ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2019, 21:57
Ответы с готовыми решениями:

Суммирование значений массива
Есть список: m = , , ] нужно суммировать каждое второе значение каждого вложенного списка пробую сделать это так: ...

Суммирование M первых элементов сформированного массива с M последними элементами же массива
Файл исходных данных содержит значения величин N, M и элементов массива IVECT..IVECT.Написать, отладить и протестировать паскаль-прогу,...

Суммирование массива
Задача: суммировать массив пока не будет цифра 0. Саму программу вроде написал, но возникли трудности с выводом ответа (суммы) Но так...

16
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.06.2019, 23:28
Цитата Сообщение от catauggie Посмотреть сообщение
for i in c:
Дык у тебя список с пустой!
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
06.06.2019, 11:50
Вообще это задача на динамическое программирование.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
06.06.2019, 18:48  [ТС]
iSmokeJC , а как это исправить?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.06.2019, 19:11
Цитата Сообщение от catauggie Посмотреть сообщение
как это исправить?
Наверно, перебирать что-то другое, data например.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
06.06.2019, 19:13  [ТС]
А это как?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.06.2019, 19:55
Python
1
2
3
4
with open(file,'r') as f_in:
        data = f_in.read()
        for i in data:
#...
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
06.06.2019, 21:15  [ТС]
Спасибо. Но ту вышла ошибка:
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
06.06.2019, 21:16  [ТС]
как это понимать?
Traceback (most recent call last):
File "C:\Users\ivan\AppData\Local\Programs\Py thon\Python37-32\stup.py", line 9, in <module>
if c[i+1]>=c[i] and c[i+2]>=c[i]:
TypeError: can only concatenate str (not "int") to str
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.06.2019, 21:28
catauggie, так и будем по строчкам писать? Ну чутка подумать, не? Если мы перебираем data, то
Python
1
2
if data[i+1] >= data[i] and data[i+2] >= data[i]:
                c.append(i)
Заметь, я в твой алгоритм вообще не вникал
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
06.06.2019, 22:12  [ТС]
но ведь ничего не изменилось

Python
1
2
3
4
5
6
7
8
9
10
11
import re
 
listes_of_path = [r'D:/python/StupenkyData.txt']
c = []
for file in listes_of_path:
    with open(file,'r') as f_in:
        data = f_in.read()
        for i in data:
            if data[i+1] >= data[i] and data[i+2] >= data[i]:
                data.append(i)
print(sum(c))
пишет: ошибка типов
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.06.2019, 23:25
Лучший ответ Сообщение было отмечено catauggie как решение

Решение

Трындец...
Python
1
2
3
4
5
6
7
import re
 
with open('StupenkyData.txt', 'r') as f_in:
    lst = [int(i) for i in re.sub(r"[^\d]+", ' ', f_in.read()).split()]
    result = [lst[i] for i in range(len(lst) - 1) if lst[i + 1] >= lst[i] <= lst[i + 2]]
    print(f'Count: {len(result)}')
    print(*result)
В логику не вникал
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
07.06.2019, 10:55
Имеется в виду, соседние или через одно - этот порядок распространяется на весь список? Или для каждого числа надо выбирать?
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
08.06.2019, 11:47  [ТС]
На весь список
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
10.06.2019, 11:23
catauggie, ну тогда это неинтересно.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 310
10.06.2019, 18:07  [ТС]
dondublon, мне бы хоть понять со всем списком, а уже потом можно что-нибудь еще придумывать.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
10.06.2019, 18:10
catauggie, но ваще какая-то фигня.
Если числа неотрицательные, то, очевидно, сумма всего списка будет больше или равна, чем если складывать через одно. Так что можно не думая складывать через одно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2019, 18:10
Помогаю со студенческими работами здесь

Суммирование массива в функции
Есть два способа вывода результатов суммирования массива. Первый способ идет в самой функции без комментария, а второй способ...

Рекурсивное суммирование массива
Есть задача: написать программу, которая суммирует массив рекурсивным способом. Программа: Принимает из командной строки значение...

Суммирование элементов массива
Здравствуйте, у меня вопросик)) Пишу вывод данных из базы mysql в эксел, пользуюсь библиотекой phpexcel. Данные выводятся по...

Суммирование и сортировка массива
Доброго времени суток. Подскажите, пожалуйста. Не могу разобраться с циклом. Вроде бы если подставить в уме i, j, то теоретически вычислить...

Суммирование элементов массива
Добрый день, уважаемые посетители форума! Помогите, пожалуйста, с решением следующей задачи в MathCad: Дана матрица NxM, надо найти...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru