小白一个,请问while循环语句结果输出为什么有两个相同的值?

s="11abc22abc33abc44abc55abc"
a=0
first=0
while first!=-1:
first=s.find("abc",1+a,)
a=a+3
if first==-1:
break
else:
print first,

输出结果:2 7 7 12 17 17 22 22

莫回无
浏览 173回答 1
1回答

函数式编程

改为这样:s="11abc22abc33abc44abc55abc"a=0first=0while first!=-1:   first=s.find("abc",1+a,)   a=first   if first==-1:       break   else:       print first,就是 a=a+3改为a=first。你原来的a表示位置,但不准确。
打开App,查看更多内容
随时随地看视频慕课网APP