Как решить задачу с помощью цикла for?

Напишите программу, которая считывает последовательность из 10 целых чисел и определяет является ли каждое из них чётным или нет.

На вход подаётся 10 целых чисел, каждое на отдельной строке.

Программа должна вывести строку «YES», если все чётные и «NO» в ином случае.


Ответы (2 шт):

Автор решения: Semitron

Используем сигнальную метку, если встретили нечетное число.

flag = 'YES'
for _ in range(10):
    a = int(input())
    if a % 2 != 0:
        flag = 'NO'
print(flag)
→ Ссылка
Автор решения: Andy Pavlov

Вариант решения, через проверку числа на остаток от деления на 2.

def check_nums(nums: list):
    print('YES'  if not sum([n % 2 for n in nums]) else 'NO')

nums = [1, 2, 4, 2, 2, 4, 10, 12, 14, 20]
check_nums(nums)  # NO
nums = [2, 2, 4, 2, 2, 4, 10, 12, 14, 20]
check_nums(nums)  # YES

Первое. Собираем список с остатками от деления на 2.

[n % 2 for n in nums]

После суммируем все значения списка через sum(). Если сумма равна нулю, то все числа четные и выводим YES, иначе есть нечетное число и выводим NO

Вариант с последовательным вводом:

nums = []
for _ in range(10):
    nums.append(int(input('Введите число:')))
check_nums(nums)
→ Ссылка