gpt4 book ai didi

python - 创建您自己的查找字符串函数

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:47 25 4
gpt4 key购买 nike

对于一个学校项目,我必须创建一个名为 find_str 的函数,它基本上与 .find 字符串方法做同样的事情,但我们不能在我们的定义中使用任何字符串方法。

项目描述如下:“函数 find_str 有两个参数(均为字符串)。它返回在第一个参数中找到第二个参数的最低索引(如果在第一个参数中找不到第二个参数,则返回 -1 )。”

我在这个项目上花了很多时间,但还没有找到解决方案。这是我提出的当前定义:

def find_str (string, substring):
index = 0
length = len (substring)
for ch in string:
if ch == substring [0]:
subindex1 = 0
subindex2 = index
for i in range (length):
if ch == substring [i]:
subindex1 +=1
if subindex1 == length:
return index
ch = string [(subindex2)+1]
subindex2 +=1
index += 1
return "-1"

此代码示例仅适用于某些情况,但并非全部。

例如:

print (find_str ("hello", "llo"))

返回:

2

应该的。

但是

print (find_str ("hello", "el"))

返回:

   ch = string [(subindex2)+1]
IndexError: string index out of range

我觉得我想太多了,一定有更简单的方法来做到这一点。任何输入或帮助都会很棒!谢谢。

最佳答案

FFU 使用子功能来清除您的想法通常会有所帮助。

def find_str (string, substring):
index = 0
length = len (substring)
for j in range(len(string)):
if is_next_sub(string, substring, j):
return j
return "-1"

def is_next_sub(string, substring, index):
for i in range(len(substring)):
if substring[i] != string[index + i]:
return False
return True

关于python - 创建您自己的查找字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21865382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com