@safronovchik

Как заменить кириллицу на латиницу?

Есть текст в строке:
text = 'Какой прекрасный день"

Заменить 2 или 3 любые буквы в любой позиции с кириллицы на латиницу. Не на любую, а именно:
# ru - en
{
	"у": "y",
	"е": "e",
	"х": "x",
	"а": "a",
	"о": "o",
	"с": "c"
}


Пример:
629e565eb4615446991270.png
  • Вопрос задан
  • 406 просмотров
Решения вопроса 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
import random

TRANS = {
    'к': 'k',
    'о': '0',
    'с': 's'
}
text = 'Какой прекрасный день'
out = ''
for im in text:
    if im in TRANS.keys():
        out += TRANS[im] if random.choice([True, False]) else im  # меняем символ с вероятностью 1/2
    else:
        out += im
print(out)
# Как0й преkраsный день
Ответ написан
@link_vrb
Вот так:
def Ru_to_En(text):
    from random import randint
    ru_en = {"у": "y", "е": "e", "х": "x", "а": "a", "о": "o", "с": "c", "р":"p", "К":"K", "М":"M"}
    return ''.join([ru_en[letter] if letter in ru_en and randint(0, 1) else ru_en[letter.lower()].upper() if letter.lower() and randint(0, 1) in ru_en else letter for letter in text])

print(Ru_to_En('Какой прекрасный день'))

Вывод:
Kaкoй прекраcный день
Где незаметны английские буквы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы