擅长:python、mysql、java
<p>首先要解决的一个问题是将一个句子翻译成一个字符串,转换成一个单词数组(这本身可能是一个问题)。一旦你有了这个单词数组(我们称之为<code>words</code>),循环遍历单词并将每个单词翻译成意大利语对应词。当然,只需将翻译后的单词粘贴在一起,就会形成一个与原始单词不同的句子(因为你会忽略标点符号、空格等)。e、 g.“嘿,我的名字是马里奥”将被翻译成“ciao mio nome is mario”(提到缺少的逗号)</p>
<p>要解决这个问题,您可以<strong>将原始句子中的每个翻译单词替换为其意大利语对应词,后者也保留了未在翻译中的原始单词。这将生成以下代码:</p>
<pre><code>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])
</code></pre>
<p>一种优化方法是首先从单词数组中删除重复的单词,这样就不会多次翻译同一个单词</p>
<p>总之,像这样的翻译不会有那么好的效果(想想动词的变化,句子中不同部分的顺序,比如主语和动词,语法差异等等)</p>