我不知道为什么我会得到一个
IndexError:字符串索引超出范围
用这个代码。
s = 'oobbobobo'
a = 0
for b in range(len(s)-1):
if (s[b] == 'b') and (s[b+1] == 'o') and (s[b+2] == s[b]):
a += 1
elif (s[b] == 'b') and (s[b+1] == 'o') and None:
break
print("Number of times bob occurs is: ", a)
我以为elif
声明会修复错误,所以我迷路了。
在这种情况下,长度为s
是 9 这意味着你正在循环range(8)
因此最高值b
将有是7
(留在我身边,我要带着这个去某个地方......)
When b = 7
(在循环的最后一次迭代中),条件表达式if
正在检查声明,其中包含:
(s[b+2] == s[b])
好吧,自从b = 7
, b + 2 = 9
, but s[9]
将超出范围(请记住,python 的索引为 0,因此长度字符串中的最高索引9
is 8
).
我猜修复方法就是修改range
陈述:
for b in range(len(s)-2):
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)