使用数组时索引错误!蟒蛇

时间:2018-05-12 14:07:44

标签: python

我尝试制作一次更改一个字符的字符串时遇到麻烦,我不确定问题是什么!?

我的索引超出范围错误 Using Trinket

import random
geneSet = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!."
target = "Hello World!"

guess = []

for x in range (0,len(target)):
  guess.append(random.choice(geneSet))
  print len(guess)

print guess

while guess != target:
  index = random.randint(0,len(target))
  guess[index] = random.choice(geneSet)
  print guess

3 个答案:

答案 0 :(得分:0)

在while循环中,当random.randint(0, len(target))返回12时会出错。

所以将该行改为:

index = random.randint(0,len(target)-1)

答案 1 :(得分:0)

  

index = random.randint(0,len(target))

应该是

  

index = random.randint(0,len(target)-1)

答案 2 :(得分:0)

正如documentation所说:

  

random.randint(a,b)

     

返回随机整数N,使得< = N< = b。

看来你的问题出现在声明中:

index = random.randint(0,len(target))

位置len(target)无效。

我认为应该是

index = random.randint(0,len(target)-1)