Failed test #8 of 13. Wrong answer

Назовем тройку чисел хорошей, если среди них есть хотя бы одно четное и хотя бы одно нечетное число.

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

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

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

Мой код

a, b, c = int(input()), int(input()), int(input())
if (a%2==b%2==0 and c%2!=0) or ((a+b+c)%2==0):
    print('YES')
else:
    print('NO')

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

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

Как уже написали в комментариях, в условиях вы проверяете что-то странное, его надо полностью переписать.

И даже если не принимать во внимание, что написанная вами проверка в принципе не верна, в ней ещё видны по крайней мере пара частных ошибок.

Во-первых, or выполняется, если выполняется хотя бы одно из условий. А вам нужно убедиться, что числа содержат одновременно И хотя бы одно чётное, И хотя бы одно нечётное.

Во-вторых, когда вы делаете a%2==b%2==0 and c%2!=0, вы проверяете, что только третье число будет нечётным. Хотя по условию вам бы подошло, если бы нечётным было бы любое из трёх, и даже два любых из трёх. Вы это никак не проверяете. И если будете писать проверки в таком же стиле, то вам пришлось бы проверить все возможные комбинации.

Я бы предложил сначала посчитать остатки от деления на 2, а уже потом работать с ними - это позволит значительно упростить написание условия. И при необходимости даже легко расширить его на произвольное количество входных чисел. (Хоть конкретно для вашей задачи это и не нужно.)

values = map(int, (input('Введи число: ') for _ in range(3)))

rests = [x % 2 for x in values]
rests.sort()

if rests[0] == 0 and rests[-1] == 1:
    print('YES')
else:
    print('NO')
→ Ссылка
Автор решения: MBo

Посчитайте остатки от деления на два (то же самое, что количество нечётных чисел)

a, b, c = int(input()), int(input()), int(input())
if 0 < a % 2 + b % 2 + c % 2 < 3:
    хорошая
  
→ Ссылка