问题是这个范围是从
0
(包含)到字符串的长度(独占),这对于索引来说是可以的,因为字符串是基于0的索引,但您不仅访问当前索引,还访问下一个索引,所以当达到
j
这个
[j+1]
是不是太远了
def double_chars(word):
chars_count = 0
for j in range(len(word) - 1):
if word[j] == word[j + 1]:
chars_count += 1
return chars_count
|
0
|
1.
|
2.
|
3.
|
4.
|
5.
|
6.
|
7.
|
8.
|
9
|
10
|
11
|
x[j]
|
H
|
E
|
L
|
L
|
o
|
|
.
|
W
|
o
|
R
|
L
|
D
|
x[j+1]
|
E
|
L
|
L
|
o
|
.
|
.
|
W
|
o
|
R
|
L
|
D
|
!
|
一个班轮提案,另一个有
zip
def double_chars(word):
return sum(1 for j in range(len(word) - 1) if word[j] == word[j + 1])
def double_chars(word):
return sum(1 for ch_curr, ch_next in zip(word, word[1:]) if ch_curr == ch_next)