Замена цифр в целом числе

Подскажите, как должен выглядеть следующий код? Целью задачи является замена всех цифр в целом числе 1234567890 на "зеркальные": 0 на 9, 1 на 8 и т.д. Пыталась с использованием replace, но доходя до replace('5','4').replace('4','5') программа начинает работать неверно

Из 1234567890 в 8765432109

a=str(1234567890)
a = a.replace('9','0').replace('8','1').replace('7','2').replace('6','3').replace('5','4').replace('4','5').replace('3','6').replace('2','7').replace('1','8').replace('0','9').
print(int(a))

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

Автор решения: Краева Екатерина
   n = 1234567890
   new = ''
   while n:
       digit = n % 10
       new = str(9 - digit) + new
       n //= 10
   print(new)

или

   n = 1234567890
   new = ''
   for el in str(n):
      new += str(9 - int(el))
   print(new)

Ваша программа работает неверно, так как все значения которые вы изменили до replace('5', '4') вновь заменяются на противоположными последующими вызовами этого метода

→ Ссылка
Автор решения: user207200

Можно использовать механизм трансляции по заданной таблице.

from string import digits

def make_translator(s):
    table = str.maketrans(s, s[::-1])
    return lambda s: s.translate(table)

mirrored = make_translator(digits)

for i in range(len(digits) + 1):
    print(digits[:i], mirrored(digits[:i]))
→ Ссылка