像痴呆的刺猬说的那样 。但是你说你不能…
您的问题是您的代码仅搜索搜索字符串的第一个字符(第一个字符在索引2)。
您基本上是说ifchar[0]
是in s
,递增index
直到ch == char[0]
我测试它返回3时,但这仍然是错误的。这是一种方法。
def find_str(s, char):
index = 0
if char in s:
c = char[0]
for ch in s:
if ch == c:
if s[index:index+len(char)] == char:
return index
index += 1
return -1
print(find_str("Happy birthday", "py"))
print(find_str("Happy birthday", "rth"))
print(find_str("Happy birthday", "rh"))
它产生了以下输出:
3
8
-1