我尝试制作一次更改一个字符的字符串时遇到麻烦,我不确定问题是什么!?
我的索引超出范围错误
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
答案 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)