擅长:python、mysql、java
<p>您正在检查当前位置之前的一个位置。因此,您会得到超出范围的错误</p>
<p>基本上,迭代数组的每个位置,但检查第n个位置和第n+1个位置。当你到达最后一个位置时会发生什么?您使用未定义的下一个位置检查它(否则它将不是最后一个位置),从而得到超出范围的错误</p>
<p>我的建议是不要对最后一项和下一项进行检查,因为不再有任何顺序</p>
<pre><code>while i < len(slist) - 1:
if slist[i] + slist[i+1] == "sh":
sh += 1
elif slist[i] + slist[i+1] == "ch":
ch += 1
elif slist[i] + slist[i+1] == "th":
th += 1
else:
if slist[i] + slist[i+1] == "wh":
wh += 1
i+=1
</code></pre>