заменить числа в строке из десятичной в двоичную систему счисления
Задача с сайта Информатикс №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.