заменить числа в строке из десятичной в двоичную систему счисления

Задача с сайта Информатикс №2805 https://informatics.msk.ru/mod/statements/view.php?chapterid=2805#1.

Необходимо все числа в строке из десятичной в двоичную систему перевести, я вроде сделал всё правильно, но сверив, обнаружил что не совпадают.

код:

string = input()
some   = string.replace("0", bin(0)[2:])

for i in range(1, 10):
    ready = bin(i)
    some = some.replace(str(i), ready[2:])

print(some)

На входе получаю строку - 6^&678JKjdkdl;?.,lk879Pk1kdfl4839,

На выходе - 110^&1101111000JKjdkdl;?.,lk10001111001Pk1kdfl1001000111001

А должно быть - 110^&1010100110JKjdkdl;?.,lk1101101111Pk1kdfl1001011100111

Подскажите пожалуйста в чём может быть ошибка.


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

Автор решения: Iofakh

ошибка конкретно в принципе кода, он переводит в двоичную систему не числа, а цифры. например 1101111000: 110 - 6; 111 -7; 1000 - 8.

→ Ссылка