
Вопрос задан 10.10.2024 в 21:03.
Предмет Информатика.
Спрашивает Shtokolova Lera.
Задача 5 Будущий футболист Макс решил подкачать мускулы. Несколько раз за день он стоит в планке и всегда записывает в строку без пробелов, сколько минут он простоял. Например, если утром он выдержал одну минуту, а в обед ещё две, то запись выглядит так: 12.
Пока что Макс может без перерыва простоять в планке максимум 9 минут.
Даны записи Макса за несколько дней в столбик, а в конце ноль. Выведи в столбик, сколько минут он стоял в планке каждый день.
Ввод
1
12
123
12
1
0
вывод
1
3
6
3
1
Ответы на вопрос

Отвечает Спартак Артём.
Для решения этой задачи нужно разобрать строки, которые представляют, сколько минут Макс простоял в планке каждый день, и посчитать общее количество минут для каждого дня. Каждый день представлен в виде одной строки без пробелов, где каждая цифра обозначает, сколько минут он простоял в отдельный подход. Например, строка "112" означает, что в первый подход он простоял 1 минуту, во второй - ещё 1 минуту, а в третий - 2 минуты.
Шаги решения:
- Читаем входные данные построчно.
- Для каждой строки, кроме последней (которая содержит "0" и служит признаком окончания ввода), считаем сумму всех цифр.
- Выводим сумму для каждой строки в столбик.
Пошаговый разбор примера:
Ввод:
1 12 123 121 0
- Первая строка "1" означает, что в этот день Макс простоял в планке 1 минуту (1).
- Вторая строка "12" — первый подход длился 1 минуту, второй — 2 минуты. Итого: .
- Третья строка "123" — первый подход длился 1 минуту, второй — 2 минуты, третий — 3 минуты. Итого: .
- Четвёртая строка "121" — первый подход длился 1 минуту, второй — 2 минуты, третий — 1 минуту. Итого: .
Последняя строка "0" означает окончание ввода, её учитывать не нужно.
Вывод:
1 3 6 4
Программа на Python:
python# Читаем данные до символа "0"
minutes = []
while True:
s = input()
if s == "0":
break
# Считаем сумму цифр в строке и добавляем в список
total_minutes = sum(int(char) for char in s)
minutes.append(total_minutes)# Выводим результат в столбик
for m in minutes:
print(m)
Объяснение кода:
- Входим в цикл, который продолжается до тех пор, пока не встретится строка "0".
- Для каждой строки считаем сумму её цифр. Используем функцию
sum()
и генератор спискаint(char) for char in s
, который преобразует каждую цифру строки в число и суммирует их. - Добавляем результат в список
minutes
. - После завершения ввода, проходим по списку
minutes
и выводим каждую сумму в новой строке.
Таким образом, программа суммирует количество минут, которое Макс провёл в планке каждый день, и выводит результат по дням.
Похожие вопросы









Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili