Транскрипция с русского в английский

Объявите функцию, которая принимает строку на кириллице и превращает ее в латиницу, используя следующий словарь для замены русских букв на соответствующее латинское написание:

t = {'е': 'yo', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd' , 'е': 'e', ​​'ж': 'zh',
'з': 'z', 'i': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н ': 'n', 'о': 'o', 'п': 'p',
'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'h', 'ц ': 'c', 'ч': 'ch', 'ш': 'sh',
'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '', 'е': 'e', ​​'ю': 'yu', 'я': 'ya'}


Функция должна возвращать преобразованную строку. Замены производить без учета регистра (начальную строку перевести в нижний регистр – строчные буквы). Функция также определяет формальный параметр sep с исходным значением в виде строки “-“. Он определяет символ для замены пробелов в строке.

def cur_to_lat(string, t, sep='-'):
    new_string = ''
    for cur in string.lower():
        if cur in list(t.keys()) :
            new_string += t[cur]
        elif cur == " ":
            new_string += sep

    return new_string

t = {'е': 'yo', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ж': 'zh', 'з': 'z', 'і': 'i',
        'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н ': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',
        'у': 'u', 'ф': 'f', 'х': 'h', 'ц ': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ъ': '', 'и': 'y', 'ь': '',
        'е': 'e', 'ю': 'yu', 'я': 'ya'}
print(cur_to_lat("привет привет", t, sep='+'))

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: