理想情况下,您会
像痴呆的刺猬说的那样 使用
str.find
或
str.index
。但是你说你不能…
您的问题是您的代码仅搜索搜索字符串的第一个字符(第一个字符在索引2)。
您基本上是说if
char[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 -1print(find_str("Happy birthday", "py"))print(find_str("Happy birthday", "rth"))print(find_str("Happy birthday", "rh"))
它产生了以下输出:
38-1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)