Hello Eddie!

On Sunday 12 July 2009, Eddie wrote:
> Hi guys,
>
> What I have here is more of a logic problem that I can't get my
> head around than a programming problem. I am trying to program an
> English to Pig Latin translator. I've got the English to Pig Latin
> part down and its working great.
>
> The part I am having difficulty with is the Pig Latin to English
> part. Say I have the word ellohay (hello) which I wish to convert
> into English. The first thing I am doing is removing the added ay
> at the end and the new word becomes elloh.
>
> This is where I have the problem. I have to somehow identify which
> letters to remove from the end and add back to the front of the
> word (i.e. h needs to be removed and added back to the front).
> However with a word such as string which translates as ingstray,
> when we remove the ay we are left with ingstr, and need to identify
> that str needs to be removed and added back on the front.
>
> I am lost as to how to identify which characters need to be removed
> to be re-added to the front and can't find a common rule to program
> by. There are translators out there already like this, so it works
> somehow, I just need a push in the right direction i think [image:
> :)]
>
> Thanks

I didn't look up the rules for creating Pig Latin. But from looking at 
your examples: hello --> ellohay, string --> ingstray, I think that 
information loss occurs in the conversion English --> Pig Latin. This 
means that the operation can not be reversed with an algorithm that 
only sees the word in question.

The most easy solution IMHO is to download a big English text from the 
Internet, and translate it to Pig Latin. During the translation you 
create a big reverse mapping: Pig Latin --> English, which for use in 
the reverse translator. 

This method exploits the fact that not each character combination is a 
valid English word. But there may be collisions: two different 
English words that have the same Pig Latin translation. It would be 
interesting to see if such collisions do really occur with English 
source text. 

  
Kind regards,
Eike.

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to