Le Wed, 20 May 2009 18:25:07 -0700 (PDT), Doug Reid <rnrcr...@yahoo.com> s'exprima ainsi:
> "The next line in the loop, > word = word[:position] + word[(position + 1):] > > creates a new version of word minus the one letter at position position. > Using slicing, the computer creates two new strings from word. The first > slice, word[:position], is every letter up to, but not including, > word[position]. The next slice, word[(position + 1):], is every letter > after word[position]. These two string are joined together and assigned to > word, which is now equal to its old self, minus the one letter > word[position]." >Can someone explain this in simpler terms? I'm sorry this > is so lengthy for my first post:) It's confusing because abstract and without any example. In the case you wrote where the word is "python", the letter 'y', and so the position is 1, you get: word "python" word[:position] "p" word[position+1:] "thon" glued together "pthon" Also, a confusing part of the program id the loop header: while word: position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position + 1):] In python, a container such as a string is considered 'False' when it's empty. Right? So that the loop header above is equivalent to: while len(word) > 0: and the loop will stop when every letter has been extracted from the word. Denis ------ la vita e estrany _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor