Количество четных элементов последовательности
Вы решили задачу. Теперь можно сравнить подходы.
Увеличиваем счётчик для каждого чётного числа до нуля.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Один проход без хранения последовательности
Проверка завершения стоит перед проверкой чётности, поэтому ноль не учитывается.
count = 0
while True:
x = int(input())
if x == 0:
break
if x % 2 == 0:
count += 1
print(count)
Время: O(n). Память: O(1) числовых переменных.
Другой способ: Сохранение и обработка списка
Булевы результаты проверки чётности суммируются как нули и единицы.
a = []
while True:
x = int(input())
if x == 0:
break
a.append(x)
print(sum(x % 2 == 0 for x in a))
Время: O(n). Память: O(n) для сохранённой последовательности.
На что обратить внимание
- Завершающий ноль чётен, но в ответ не входит.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.