Другой перевода из десятичной системы в двоичную: берем число и делим его столбиком на основание системы, в которую переводим. Нацело. Если есть остаток, то его оставляем. А получившееся часное снова делим на основание требуемой системы. И так далее, пока часное не перестанет делится нацело. А чтобы записать число в требуемой системе, записываем последнее часное, а потом все остатки, начиная с последнего. (кстати, по аналогии можно переводить в любую другую систему).
Другой перевода из десятичной системы в двоичную: берем число и делим его столбиком на основание системы, в которую переводим. Нацело. Если есть остаток, то его оставляем. А получившееся часное снова делим на основание требуемой системы. И так далее, пока часное не перестанет делится нацело. А чтобы записать число в требуемой системе, записываем последнее часное, а потом все остатки, начиная с последнего. (кстати, по аналогии можно переводить в любую другую систему).
173| 2
172 86| 2
1 86 43| 2
0 42 21| 2
1 20 10| 2
1 10 5| 2
0 4 2| 2
1 2 1
0
Итого: в записи 5 единиц.
number = int(input())
last_number = 0
even = 0
odd = 0
while (number > 0):
last_number = number % 10
if (last_number % 2 == 0):
even += 1
else:
odd += 1
number //= 10
print("Even = ", even, "Odd = ", odd)
Объяснение:
number = int(input()) // Объявление + ввод переменной
last_number = 0 // Переменная для хранения последней цифры числа
even = 0 // Количество четных
odd = 0 // Количество нечетных
while (number > 0): // Пока число > 0
last_number = number % 10 // Получаем последнюю цифру числа
if (last_number % 2 == 0): // Если цифра делится на 2 без остатка
even += 1 // В переменную even делаем + 1
else: // Иначе
odd += 1 // В переменную odd делаем + 1
number //= 10 // Удаляем последнюю цифру числа
print("Even = ", even, "Odd = ", odd) // Вывод