Мини-урок · перед практикой

Количество элементов, которые больше предыдущего

Сравниваем каждый элемент со своим непосредственным предшественником.

Как к ней подойти

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

Коротко о теме

Цикл while продолжается, пока условие истинно. Продумайте, какое значение меняется на каждом шаге и почему цикл когда-нибудь завершится. Проверяйте как обычный ввод, так и случай, когда тело цикла выполняется ноль раз.

Ключевая идея · Один проход без хранения последовательности

Первый элемент не имеет предшественника, поэтому начинаем сравнения со второго.

Проверьте перед запуском

  • Равные элементы не подходят.
  • Предыдущее значение обновляется после любого сравнения.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение: Один проход без хранения последовательности

Первый элемент не имеет предшественника, поэтому начинаем сравнения со второго.

previous = int(input())
count = 0
if previous != 0:
    while True:
        current = int(input())
        if current == 0:
            break
        if current > previous:
            count += 1
        previous = current
print(count)

Время: O(n). Память: O(1) числовых переменных.

Другой способ: Сохранение и обработка списка

Каждое истинное сравнение в генераторе даёт единицу.

a = []
while True:
    x = int(input())
    if x == 0:
        break
    a.append(x)
print(sum(a[i] > a[i - 1] for i in range(1, len(a))))

Время: O(n). Память: O(n) для сохранённой последовательности.