Fsrit Propttoye: SCLABMRE
L. Sommerer
lsommerer at sewardweb.com
Fri Sep 19 19:36:49 EDT 2003
More information about the Python-list mailing list
Fri Sep 19 19:36:49 EDT 2003
- Previous message (by thread): Fsrit Propttoye: SCLABMRE
- Next message (by thread): was: Re: looking for MOP documentation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 17 Sep 2003 09:18:26 -0400, Frnak "Sealmbcrd Eggs" Lomax <lomax at pumpichank.com> wrote: > > I hvae jsut fhiseind rniedag a Shdlaost atrlcie from Mnoday, Sbepemetr > 15th, aobut an ingtriniug sdtuy from Cgbdirmae Uinevtrsiy, dciinesrbg > how wodrs with thier itienrors selmrbacd can siltl be rdbaleae. > Bcaeuse of the tioeznme that I lvie in, an initettrment dfceet in my > clbae medom, and the lneiignrg atfer-ecfefts of my lsat "mohsroum > salad exntarvzagaa", I am aaylws two days bhneid on the Web. > > [snip] I was really glad to read this post. I worked on the same little bit of code one evening this week, but I didn't feel very good about the solution. I haven't been coding in python long, and it was quite instructive to see how someone else approached the same problem. Lloyd Sommerer (Here's what I did in case anyone's interested.) ----------------------------------------------------- from random import shuffle def scramble_word(MyWord): # # If the word includes punctuation, save the punctuation for later use, # and remove it from the end of the word. # if MyWord[-1] in [".", ";", ":", "," ,"!", "?"]: Punctuation = MyWord[-1] MyWord = MyWord[0:-1] else: Punctuation = "" # # 1, 2 and 3 letter words don't need to be scrambled, so skip them. # if len(MyWord) < 4: return MyWord + Punctuation else: # # Carve out the middle and make a list out of it so we can shuffle it # (can't shuffle a string). Then use "reduce" to return the list as a # string. # Middle = MyWord[1:-1] MiddleList = list(Middle) shuffle(MiddleList) NewMiddle = reduce(concat_letters, MiddleList) return MyWord[0] + NewMiddle + MyWord[-1] + Punctuation def scramble(SomeText): ScrambledList = [scramble_word(x) for x in SomeText.split()] return reduce(concat_words, ScrambledList) def concat_letters(x,y): return x+y def concat_words(x,y): return x+" "+y if __name__ == '__main__': print 'Usage: scramble("Insert some text here to scramble")'
- Previous message (by thread): Fsrit Propttoye: SCLABMRE
- Next message (by thread): was: Re: looking for MOP documentation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list