Помогите написать функцию перевода текста с использованием словаря перевода слов

Vanya Rezkov

Новичок
Пользователь
Авг 14, 2020
1
0
1
Определение функции имеет вид: def translate_text(text: str, vocabulary: dict) -> str:

Функция формирует и возвращает новую строку, которая основана на переданном
тексте и в котором:
  • все символы, которые не входят в слова остаются как есть.
  • если слово не найдено в переданном словаре преводов, то оно остаётся в том-же виде.
  • все слова, которые найдены в переданном словаре переводов, заменяются на их альтернативные значения.

1) param text: text типа str
2) param vocabulary: словарь Python в котором:
  • ключи - слово из текста в нижнем регистре
  • значения - строка с альтернативным значением
3) return: текст в котором заменены слова на их альтернативные значения из
переданного словаря переводов.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот пример:
Python:
def change_words(text):
    d = {'quick': 'slow', 'brown': 'black'}
    text = ' '.join([d.get(i, i) for i in text.split()])
    return text

text = 'The quick brown fox jumps over a lazy dog'
print(change_words(text))
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Python:
def translate_text(text: str, vocabulary: dict) -> str:
    return ' '.join(vocabulary.get(word, word) for word in text.split())

if __name__ == '__main__':
    vocabulary = {'оригинал': 'замена', 'еще_оригинал': 'еще_замена'}
    text = "оригинал еще_оригинал другое"
    result = "замена еще_замена другое"
    assert translate_text(text, vocabulary) == result
Если сохранение количества пробелов не важно.
 
  • Мне нравится
Реакции: Vanya Rezkov

Форум IT Специалистов