gpt4 book ai didi

Python翻译器: I want to translate multiple words in sentence

转载 作者:行者123 更新时间:2023-12-01 02:53:31 25 4
gpt4 key购买 nike

所以我开始开发这个小翻译程序,通过输入将英语翻译成德语。但是,当我输入多个单词时,我会得到我输入的单词,然后是正确的翻译。

这是我到目前为止所拥有的:

data = [input()]

dictionary = {'i':'ich', 'am':'bin', 'a':'ein', 'student':'schueler', 'of
the':'der', 'german':'deutschen', 'language': 'sprache'}


from itertools import takewhile
def find_suffix(s):
return ''.join(takewhile(str.isalpha, s[::-1]))[::-1]

for d in data:
sfx = find_suffix(d)
print (d.replace(sfx, dictionary.get(sfx, sfx)))

我正在尝试获得以下输出:

"i am a student of the german sprache" 

相对于:

"ich bin ein schueler der deutschen spracher"

我对 python 很陌生,因此我们将不胜感激

最佳答案

将您的代码更改为此应该是您寻找所需内容的第一步。

data = raw_input()

dictionary = {'i':'ich', 'am':'bin', 'a':'ein', 'student':'schueler', 'of':'der', 'german':'deutschen', 'language': 'sprache'}



from itertools import takewhile
def find_suffix(s):
return ''.join(takewhile(str.isalpha, s[::-1]))[::-1]


for d in data.split():
sfx = find_suffix(d)
print (d.replace(sfx, dictionary.get(sfx,''))),

您现在所拥有的并没有考虑每个单独的单词,因为数据不是您想要的单词列表,而是包含一个字符串(您提供的输入)的列表。尝试打印调试您的代码片段,看看我在说什么。

请注意,通过这种逻辑,您的项目中会出现极端情况。获取每个单词并将其翻译为对应的德语单词,禁止字典条目长度超过 1 个单词,例如 'of the':'der'。出于演示目的,我选择保留一个键长度为 1 的字典,因此上面的键:值对变成 'of':'der' 这是不正确的,因为德语语法稍微复杂一点比起那个来说。

你现在遇到的问题比开始时还要多,这就是玩具项目的用途。如果我是你,我会研究开源项目如何处理此类情况,并尝试找出合适的方法。祝您的项目顺利。

关于Python翻译器: I want to translate multiple words in sentence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com