Давайте разберем эту задачу пошагово:
1) Сначала проанализируем условие задачи:
- Нам нужны двузначные числа (от 10 до 99)
- Число должно быть НЕ меньше 64 (то есть ≥ 64)
- Все цифры в числе должны быть четными
2) В вашем коде есть несколько проблем:
- Сравнение с 1 в условии `== 1` неверно, так как логическое выражение возвращает True/False
- Вы печатаете `x`, а нужно печатать `k` (количество чисел)
- Проверка на четность цифр реализована сложнее, чем нужно
3) Вот исправленный код:
Python:
k = 0
for x in range(10, 100):
# НЕ (X < 64) означает X >= 64
# Проверяем, что обе цифры четные
if (x >= 64 and
(x // 10) % 2 == 0 and # первая цифра четная
(x % 10) % 2 == 0): # вторая цифра четная
k += 1
print(k)
4) Давайте проверим, какие числа подходят:
- Числа должны быть ≥ 64
- Обе цифры должны быть четными
- Четные цифры: 0, 2, 4, 6, 8
Подходящие числа: 64, 66, 68, 80, 82, 84, 86, 88
Всего 8 чисел.
Поэтому ответ действительно должен быть 8, а не 99.
В вашем коде выводилось последнее значение x после цикла (99), а не количество подходящих чисел k. Это и была основная ошибка.