将piglatin转换成英文?

时间:2014-04-04 14:10:31

标签: python python-3.x

所以我制作了一个简单的程序将英语转换为PigLatin。但现在我被困在如何将其转换回英语。以下是PigLatin的英语示例:

输入     你好世界这很棒

输出

elloXhaWEY orldXwWEY isXthWEY isWAY eatXgrWEY

所以,规则是: 1.如果单词以元音开头,则以WAY结尾(例如eal - > ealWAY) 2.如果单词以辅音开头,只要辅音存在,它就会继续检查,剥离第一部分然后将其转换。 (例如,这个 - > isXthWEY)注意剥离字母前的X和后面的WEY。

我设法制作了一个程序,将它们转换为它。但是如何将混乱的字母转换回英文?

我的想法是从最后检查每个单词。如果它以WEY结束,我将最后3个单词删除,抓住最后一个字母直到它到达X然后剥离X然后将单词移到开头。但我很失落如何做到这一点。

感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:4)

这样的东西?

def decode (line):
    return ' '.join (token [:-3]
        if token.endswith ('WAY')
        else (lambda a, b: b [:-3] + a) (*token.split ('X') )
        for token in line.split () )

样品:

>>> decode ('elloXHWEY orldXwWEY isXthWEY isWAY eatXgrWEY')
'Hello world this is great'

Nota bene:可能会失败,因为有些语言会让人感到难以忘怀。' X'但它应该是让你开始的东西。