我已经远远超过了我的编码课程,所以我比开始学期时所需的知识多一点。编辑请原谅define函数的缩进错误。
编辑暂时删除。非常感谢你们的反馈。我会暂时把它放回去。
您可以使用while
循环,其条件与if
语句中的条件相反。如果循环完成而没有破坏,则指数position
将等于上限needle_characters
,因此使用position == needle_characters
作为原始else
循环的for
子句的等效条件。
更改:
for position in range(needle_characters):
if haystack[counter+position] != needle[position]:
break
else:
return counter
至:
position = 0
while position < needle_characters and haystack[counter+position] == needle[position]:
position += 1
if position == needle_characters:
return counter