Top.Mail.Ru
Ответы

Как вывести на экран все четные цифры данного числа?

Как вывести на экран все четные цифры данного числа? Где у меня ошибка?

По дате
По рейтингу
Аватар пользователя
Мудрец

n = int(input()) # число = строка ввода, преобразованная в целое число
while n > 0: # пока остались разряды
__if n % 2 == 0: # если число четное (значит и младший разряд четный), то
____print(n % 10) # выводим младший разряд
__n = n // 10 # отбрасываем младший разряд

Аватар пользователя
Просветленный

a = строка
for i in a:
i это символ , а ты пытаешься остаток от деления на 2 взять от символа. а python думает что это попытка строкового ковертирования
----
# если a число
a = int(input())
r, base = 0, 1
while a != 0:
  x = a % 10
  if x % 2 == 0:
    r += x * base
    base *= 10
  a //= 10
print(r)

а можно и так -- без конвертирования строк в числа
print(''.join(x for x in input().strip() if x in {'2','4','6','8','0'}))