Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/88: Рейтинг темы: голосов - 88, средняя оценка - 4.85
-11 / 2 / 1
Регистрация: 22.09.2021
Сообщений: 97

Сумма чисел в строке

11.12.2021, 10:29. Показов 21834. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Строки могут быть разными, с числами и без. Среди множества вводимых строк нужно выбрать те, в которых больше всего чисел, а среди отобранных ту, в которой их сумма минимальна.
Напишите такую программу.

Формат ввода
Вводятся строки.

Формат вывода
Нужно вывести наименьшую из сумм чисел для строк, в которых больше всего чисел. Если строк с числами нет, то вывести -1.

Пример 1
Ввод:
Расстояние до Луны в среднем 384000 км.
До Плутона со скоростью 8000 км/с лететь около 750000 с.
Марсианские сутки длятся 24 часа 37 минут.
Земная ось наклонена под углом 23 градуса.

Вывод:
61

Пример 2
Ввод:
Путь до Марса занимает не менее полугода.
Ближайшая к нам звезда - Проксима Центавра.
Температура на Венере позволяет легко плавить олово.

Вывод:
-1

Примечания:
Числа в строках только целые.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2021, 10:29
Ответы с готовыми решениями:

Сумма чисел в строке
Доброго времени суток. На курсе задали задачу: В виде строки записано арифметическое выражение, например: "10 + 25 - 12" или...

Сумма чисел в строке
Строки могут быть разными, с числами и без. Среди множества вводимых строк нужно выбрать те, в которых больше всего чисел, а среди...

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

22
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.12.2021, 11:45
Python
1
2
3
4
5
6
7
8
9
10
11
import re
 
s = '''
Расстояние до Луны в среднем 384000 км.
До Плутона со скоростью 8000 км/с лететь около 750000 с.
Марсианские сутки длятся 24 часа 37 минут.
Земная ось наклонена под углом 23 градуса.
'''.strip()
 
lst =[list(map(int, re.findall(r'\d+', i))) for i in s.split('\n')]
print(min(map(sum, filter(lambda x: len(x) == len(max(lst, key=len)), lst))) if re.search(r'\d', s) else -1)
1
enx
11.12.2021, 13:30

Не по теме:

iSmokeJC, я кстати прекратил помощь для данного ТС, но вот все думаю, представляешь какие глаза от его прогресса у наставников в Яндексе?

0
11.12.2021, 13:36

Не по теме:


Цитата Сообщение от enx Посмотреть сообщение
представляешь какие глаза от его прогресса у наставников в Яндексе
Они прекрасно в курсе, откуда ученики это все списывают. Поэтому для конкретно взятого ТСа мой ответ вообще никакой ценности не имеет. А тому, кто действительно учится - глядишь и пригодится что

0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
11.12.2021, 13:49

Не по теме:

Цитата Сообщение от enx Посмотреть сообщение
представляешь какие глаза от его прогресса у наставников в Яндексе?
я представляю глаза начальника или того отдела в который его может быть возьмут с дипломом ял.

1
11.12.2021, 14:06

Не по теме:

Цитата Сообщение от enx Посмотреть сообщение
представляешь какие глаза от его прогресса у наставников в Яндексе?
к сожалению большинство преподавателей там такого же уровня...

0
3 / 3 / 0
Регистрация: 14.09.2021
Сообщений: 31
22.12.2021, 10:02
Строки могут быть разными, с числами и без. Среди множества вводимых строк нужно выбрать те, в которых больше всего чисел, а среди отобранных ту, в которой их сумма минимальна.

Напишите такую программу.
Формат ввода
Вводятся строки.

Формат вывода
Нужно вывести наименьшую из сумм чисел для строк, в которых больше всего чисел. Если строк с числами нет, то вывести -1.
Пример 1
Ввод
Code
1
2
3
4
Расстояние до Луны в среднем 384000 км.
До Плутона со скоростью 8000 км/с лететь около 750000 с.
Марсианские сутки длятся 24 часа 37 минут.
Земная ось наклонена под углом 23 градуса.
Вывод
Code
1
61
Пример 2
Ввод
Code
1
2
3
Путь до Марса занимает не менее полугода.
Ближайшая к нам звезда - Проксима Центавра.
Температура на Венере позволяет легко плавить олово.
Вывод
Code
1
-1
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
22.12.2021, 10:29
Поскольку формат ввода ты не описал, с ним покумекай сам.


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def f(txt):
    res = {}
    for i in txt.splitlines():
        tmp = list(filter(lambda x: x.isdigit(), i.split()))
        res[len(tmp)] = res.get(len(tmp), []) + [sum(map(int, tmp))]
    cnt = min(res[max(res)])
    return cnt if cnt else -1
 
 
txt = '''Расстояние до Луны в среднем 384000 км.
         До Плутона со скоростью 8000 км/с лететь около 750000 с.
         Марсианские сутки длятся 24 часа 37 минут.
         Земная ось наклонена под углом 23 градуса.'''
print(f(txt))
 
txt = '''Путь до Марса занимает не менее полугода.
         Ближайшая к нам звезда - Проксима Центавра.
         Температура на Венере позволяет легко плавить олово.'''
print(f(txt))
Добавлено через 13 секунд
Bash
1
2
61
-1
0
3 / 3 / 0
Регистрация: 14.09.2021
Сообщений: 31
22.12.2021, 10:54
К сожалению, я дурак, который не сможет переделать так, чтобы был ввод
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
22.12.2021, 10:57
egor_piunov, ну тогда сочувствую, потому что гадать о том, как тебе приходят эти строки - я не буду.
0
3 / 3 / 0
Регистрация: 14.09.2021
Сообщений: 31
22.12.2021, 11:03
стандартный ввод. как тот же input().
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
22.12.2021, 11:11
egor_piunov, а признак остановки ввода какой? Пустая строка, число строк, сентинель какой-то? Или работаем с неизвестным вводом, по принципу, все что прилетело?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.12.2021, 11:13

Не по теме:

Цитата Сообщение от enx Посмотреть сообщение
сентинель
На форуме мат запрещен!


0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
22.12.2021, 11:18
iSmokeJC, точно, я забыл...

Добавлено через 2 минуты
iSmokeJC, регулярочку ему дай, для комбо, ты вроде уже писал этот кейс)))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.12.2021, 11:19
Цитата Сообщение от enx Посмотреть сообщение
регулярочку ему дай
Это несложно, однако совсем не отменяет вопроса
Цитата Сообщение от enx Посмотреть сообщение
а признак остановки ввода какой?
0
3 / 3 / 0
Регистрация: 14.09.2021
Сообщений: 31
22.12.2021, 11:43
я так понял, через stdin нужно вводить. там неопределённое кол-во строк
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
22.12.2021, 11:45

egor_piunov, и? До каких пор будем ожидать следующую строку ввода? До второго пришествия?
Цитата Сообщение от enx Посмотреть сообщение
признак остановки ввода какой?
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
22.12.2021, 11:47
iSmokeJC, да пустая строка там, sys.stdin или open(0)

egor_piunov, иди, проверяй:


Python
1
2
3
4
5
6
7
8
9
10
def f(txt):
    res = {}
    for i in txt:
        tmp = list(filter(lambda x: x.isdigit(), i.split()))
        res[len(tmp)] = res.get(len(tmp), []) + [sum(map(int, tmp))]
    cnt = min(res[max(res)])
    return cnt if cnt else -1
  
txt = open(0).readlines()
print(f(txt))
0
3 / 3 / 0
Регистрация: 14.09.2021
Сообщений: 31
22.12.2021, 11:57
Ошибка
Traceback (most recent call last):
File "/temp/executing/test.py", line 14, in <module>
exec(sys.stdin.read().strip())
OSError: [Errno 9] Bad file descriptor
make: *** [run] Error 1
Ввод
Расстояние до Луны в среднем 384000 км.
До Плутона со скоростью 8000 км/с лететь около 750000 с.
Марсианские сутки длятся 24 часа 37 минут.
Земная ось наклонена под углом 23 градуса.
Ожидаемый результат
61
Вывод
61
Makefile:5: recipe for target 'run' failed
Сообщение
Completion status: ABNORMAL_EXIT
Term sig: null
Error code: 2

Добавлено через 3 минуты
там не по пустой строке. там завершение программы идёт по EOF
0
2 / 2 / 0
Регистрация: 13.03.2023
Сообщений: 23
22.03.2023, 13:34
Доработанный код
Python
1
2
3
4
5
6
import re
import sys
 
s = list(map(str, sys.stdin))
lst =[list(map(int, re.findall(r'\d+', i))) for i in s]
print(min(map(sum, filter(lambda x: len(x) == len(max(lst, key=len)), lst))) if re.search(r'\d+', str(s)) else -1)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2023, 13:34
Помогаю со студенческими работами здесь

Сумма чисел в строке
Задана строка, содержащая целые числа и слова, разделенные пробелами (одним или несколькими). Определить сумму целых чисел в строке. ...

Сумма чисел в строке
Есть строка 567 Как посчитать сумму чисел в строке ? Или разбить потом использовать sum

Сумма чисел в строке
Мне нужно суммировать по 2 элемента строки string (1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 ) поочередно. Если больше единицы, то выводим 0, единица...

Сумма всех чисел в строке
Сумма всех чисел в строке. Кто нибудь может это транслировать на C++ #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Сумма отдельных чисел в строке
Задано случайная строка . Подсчитать сумму отдельных чисел в строке


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru