Вопрос задан 08.09.2020 в 01:01. Предмет Информатика. Спрашивает Золотилова Елена.

Ваня ведёт дневник, где в том числе отмечает, делал он зарядку в этот день или нет. Напишите

программу, которая по собранной статистике сообщит, сколько последних дней подряд Ваня делал зарядку, а так же наибольшее число дней подряд когда он делал зарядку. Формат входных данных Дана строка, в которой каждый символ соответствует одному дню. Знаком + отмечены дни, когда Ваня делал зарядку, точкой когда нет. Длина строки меньше 105 символов Формат выходных данных Выведите через пробел два числа. Язык Python. Как посчитать количество последних дней подряд я уже понял, вот что набросал: dnev=input() lastdot=(dnev.rfind('.')) lastz=dnev.count('+', lastdot) if lastdot==-1: lastz=len(dnev) Помогите подсчитать максимум подряд идущих +.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для подсчета максимального числа последовательных дней, в течение которых Ваня делал зарядку, можно использовать цикл for и метод split('+') для разделения строки по символам "+". Затем мы будем подсчитывать длину каждой последовательности и сохранять максимальное значение.

Вот пример решения задачи:

```python dnev = input() # вводим строку с данными sequences = dnev.split('.') # разделяем строку на последовательности last_dot = len(sequences) - 1 # позиция последней точки last_days = sequences[last_dot].split('+') # разделяем последнюю последовательность по символу "+"

# Подсчитываем количество последовательных дней, в которых Ваня делал зарядку last_z = len(last_days)

# Подсчитываем максимальное число последовательных дней подряд max_days = 0 current_days = 0 for seq in sequences: if '+' in seq: current_days += seq.count('+') if current_days > max_days: max_days = current_days else: current_days = 0

print(last_z, max_days) ```

Данный код разделяет строку по символу ".", чтобы получить последовательности дней, в которых Ваня делал зарядку. Затем проходим по каждой последовательности и подсчитываем количество дней в каждой. Если число дней больше текущего максимума, обновляем максимум. В результате получаем количество последних дней подряд и максимальное число последовательных дней, когда Ваня делал зарядку.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос