t = int(raw_input())
while t:
original_arrangement = raw_input()
no_of_pairs = 0
for i in range(0,len(original_arrangement)):
if original_arrangement[i]=="<" and original_arrangement[i+1]==">":
no_of_pairs+=1
print "%d" %(no_of_pairs)
t-=1
这里我得到了IndexError:
string index out of range on line 6
我不明白为什么我这样做,因为range(0,len(original_arrangement))
应该正常工作,我的索引应该从0
到n-1
。
答案 0 :(得分:1)
字符串索引从0
开始,以len(string)-1
结束,因此当您执行original_arrangement[i+1]
时,您将在上次迭代时退出索引。
s = "somerandomstringhere"
s[0]
Out[4]: 's'
len(s)
Out[5]: 20
s[len(s)]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-6-db5f35bae095> in <module>()
----> 1 s[len(s)]
IndexError: string index out of range
s[19]
Out[7]: 'e'
答案 1 :(得分:0)
最大的索引是len(original_arrangement)-1
,因此i+1
的{{1}}太大了。但只需使用i=len(original_arrangement)-1
:
count