此代码应该计算字符串s中'bob'的出现次数。 如果s不以'bob'开头,代码工作正常,我正在寻找计数。 但是一旦s以'bob'开头,它就找不到任何东西。所有。返回-1。那是为什么?
beg = 0
count = 0
s = "boboxboobt"
while beg >=0 :
beg = s.find('bob', beg)
print("beg is :", beg)
if beg > 0:
count +=1
beg +=2
print('Count is:', count)
print("beg is :", beg)
else:
print('negativ')
break
print('count ', count)
答案 0 :(得分:3)
不,它不返回-1
,它返回零,这是完全有效的,所以第一个条件应该是:
if beg >= 0:
答案 1 :(得分:1)
"boboxboobt".find('bob', 0)
返回0
,而不是-1
:
>>> s = "boboxboobt"
>>> s.find('bob', 0)
0
您的代码中有一个错误的错误:
if beg > 0:
此排除 beg = 0
案例。把它变成:
if beg > -1: