首先要解决的一个问题是将一个句子翻译成一个字符串,转换成一个单词数组(这本身可能是一个问题)。一旦你有了这个单词数组(我们称之为words),循环遍历单词并将每个单词翻译成意大利语对应词。当然,只需将翻译后的单词粘贴在一起,就会形成一个与原始单词不同的句子(因为你会忽略标点符号、空格等)。e、 g.“嘿,我的名字是马里奥”将被翻译成“ciao mio nome is mario”(提到缺少的逗号)
english_italian = {"hey": "ciao", "my": "mio", "name": "nome"}
sentence = "ciao mio nome is Mario"
words = sentence_to_words(sentence) # ["ciao", "mio", "nome", "is", "Mario"]
for word in words:
if word in english_italian:
sentence = sentence.replace(word, english_italian[word])
english_italian = {"hey": "ciao", "my": "mio", "name": "nome"}
s = "hello my name is Mario"
translated = ' '.join([
english_italian[english_word]
if english_word in english_italian else english_word
for english_word in s.split(' ')])
print(translated)
english_italian = {"hey": "ciao", "my": "mio", "name": "nome"}
s = "hey my name is Mario"
# split s into a list of words, and search the dict for each.
# if the word is not found, keep the original word
translated = " ".join(english_italian.get(word, word) for word in s.split(" "))
print(translated)
首先要解决的一个问题是将一个句子翻译成一个字符串,转换成一个单词数组(这本身可能是一个问题)。一旦你有了这个单词数组(我们称之为
words
),循环遍历单词并将每个单词翻译成意大利语对应词。当然,只需将翻译后的单词粘贴在一起,就会形成一个与原始单词不同的句子(因为你会忽略标点符号、空格等)。e、 g.“嘿,我的名字是马里奥”将被翻译成“ciao mio nome is mario”(提到缺少的逗号)要解决这个问题,您可以将原始句子中的每个翻译单词替换为其意大利语对应词,后者也保留了未在翻译中的原始单词。这将生成以下代码:
一种优化方法是首先从单词数组中删除重复的单词,这样就不会多次翻译同一个单词
总之,像这样的翻译不会有那么好的效果(想想动词的变化,句子中不同部分的顺序,比如主语和动词,语法差异等等)
如果你想留下不在字典里的单词不被翻译:
输出:
输出:
相关问题 更多 >
编程相关推荐