Посчитать четные и нечетные цифры числа

Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.

Решение задачи на языке программирования Python

Если число делится без остатка на 2, его последняя цифра четная. Увеличиваем на 1 счетчик четных цифр even. Иначе последняя цифра числа нечетная, увеличиваем счетчик нечетных цифр odd.

В Python операцию нахождения остатка от деления выполняет знак %.

Чтобы избавиться от младшего уже учтенного разряда, число следует разделить нацело на 10. Деление нацело обозначается двумя слэшами //.

a = int(input())

even = 0
odd = 0

while a > 0:
    if a % 2 == 0:
        even += 1
    else:
        odd += 1
    a = a // 10

print(f'Even: {even}, odd: {odd}')

Пример выполнения:

65439
Even: 2, odd: 3

Кроме чисто математического подхода в Python можно решить задачу "через строку". Мы не будем переводить введенное строковое представление числа к целочисленному типу, вместо этого переберем символы строки в цикле for. Каждый символ преобразуем к числу и проверим на четность.

a = input()

even = 0
odd = 0

for i in a:
    if int(i) % 2 == 0:
        even += 1
    else:
        odd += 1

print("Even: %d, odd: %d" % (even, odd))

Поскольку количество четных (как и нечетных) цифр ограничено, в программу можно включить что-то типа "базы данных" и проверять каждый символ на вхождение в нее.

a = input()

digits = "02468"

even = 0
odd = 0

for i in a:
    if i in digits:
        even += 1
    else:
        odd += 1

print("Even: %d, odd: %d" % (even, odd))

Обратим внимание, что оператор in языка Python в заголовке цикла for обозначает иное, чем в заголовке условного оператора. Логическое выражение i in digits возвращает истину если i входит в состав digits. В иных случаях - ложь.


Решение задач на Python




Все разделы сайта