Количество элементов, которые больше предыдущего
Сравниваем каждый элемент со своим непосредственным предшественником.
Как к ней подойти
Разберитесь, как повторять действие, пока выполняется условие, и вовремя остановить цикл.
Цикл 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) для сохранённой последовательности.