My version is similar to Just one: from random import shuffle
def scramble_text(text): """Return the words in input text string scrambled except for the first and last letter.""" def scramble_word(word): if len(word) < 4: return word core = list(word[1:-1]) shuffle(core) return word[0] + "".join(core) + word[-1] return " ".join(map(scramble_word, text.split())) print scramble_text(scramble_text.__doc__) -- http://mail.python.org/mailman/listinfo/python-list