如何在Python中将句子从英语翻译成另一种语言?

时间:2018-02-21 10:27:11

标签: python

我必须做一名翻译,从英语翻译成另一种语言(在我看来是匈牙利语)。
我有给定的dict和例子(dict是szotar,例子是pelda,这些是给定的,我不能改变它)。
我已经做了一些事情,但我无法弄清楚,如何忽略点和大写字母,并以相同的格式翻译它们。

我必须对所有内容进行编码,不能使用任何导入的东西 有人可以帮我吗?谢谢。

 szotar={'a':'the',
        'majom': 'monkey',
        'kutya':'dog',
        'szereti':'likes',
        'banánt':'banana',
        'kolbászt':'sausage'}
d = {v: k for k, v in szotar.items()}

pelda='The monkey likes banana. Every dog likes sausage.'
peld=pelda.lower()
pl=peld.split()


def trans(): # függvény
    out="" # kiírt üzenet
    for word in pl:
        if word in d:
            out += d[word] + " " # ha a szótárban található megfelelő szó, azt írja ki, majd egy szóközt tesz utána
        else:
            out += word + " " # ha a szótárban nincs megfelelő szó, marad az eredeti, és szóköz

    print(out) # kiírja a végeredményt
trans()

1 个答案:

答案 0 :(得分:0)

这是一个忽略字母大小写的approuch(输出全部小写):

szotar={'a':'the',
        'majom': 'monkey',
        'kutya':'dog',
        'szereti':'likes',
        'banánt':'banana',
        'kolbászt':'sausage'}
d = {v: k for k, v in szotar.items()}

def trans(sentense):
    out = ""
    for word in sentense.lower().split():
        for key in d.keys():
            if key in word:
                word = word.replace(key, d[key])
        out += word + ' '
    return out.strip()

pelda='The monkey likes banana. Every dog likes sausage.'
print(trans(pelda))

输出:

  一个主要的szeretibanánt。每个kutyaszeretikolbászt。