这个循环中的这行代码如何工作?

时间:2013-10-27 19:28:19

标签: python loops tuples

有人可以向我解释一下这个循环的最后一行是做什么的吗?这是一个单词jumble程序的片段,是我正在学习的书中的一个例子。谢谢。

import random
WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone")
word = random.choice(WORDS)
correct = word
jumble = " "

while word:
  position = random.randrange(len(word))
  jumble += word[position]

  word = word[:position] + word[(position +1):]  

1 个答案:

答案 0 :(得分:2)

它会删除索引position处的字符:

>>> word = "python"
>>> position = 3
>>> 
>>> word[:position] + word[(position +1):]
'python'

我们的字符串是"python"

p  y  t  h  o  n
0  1  2  3  4  5
         ^

因此,position = 3结果为"python",而'h'缺失,这是有道理的。

将来总是尝试用简化的例子来测试这些东西,通常它们会让你深入了解正在发生的事情。

另请参阅:Python's slice notation