Кодинг-марафон. Задача № 9.
Слово «двуликий» состоит из 8 букв. Байт в двоичном формате имеет 8 бит. Байт может представлять символ.
Мы можем использовать слово «двуликий» для выражения слов в двоичном формате, если используем заглавные буквы как единицы, а строчные — как нули.
Создайте функцию, которая будет переводить слово в виде обычного текста в «двуликий код».
Примеры
translator("Hi") ➞ "дВулИкий дВУлИкиЙ" translator("123") ➞ "двУЛикиЙ двУЛикИй двУЛикИЙ"
Примечание: переводите слова, написанные латиницей, и цифры. За перевод кириллицы — дополнительный балл.
Решение
def translator(txt): word = 'двуликий' res = [] for char in bytearray(txt, 'utf-8'): b = '{:0>8b}'.format(char) new = ''.join(word[i].upper() if b[i] == '1' else word[i] for i in range(8)) res.append(new) return ' '.join(res)