Python 为什么在某些情况下输出不好?

Python 为什么在某些情况下输出不好?,python,Python,我觉得自己很愚蠢,不知道为什么在某些情况下输出不好。 这是输出(在末尾) 它应该找到给定字符串中的第一个子字符串,例如: sim('banan','na')->'na' 如果需要索引: def sim(haystack, needle): index = haystack.index(needle) # throws ValueError when not found return (index, index + len(needle)) 如果需要索引: def sim(hay

我觉得自己很愚蠢,不知道为什么在某些情况下输出不好。 这是输出(在末尾) 它应该找到给定字符串中的第一个子字符串,例如: sim('banan','na')->'na'

如果需要索引:

def sim(haystack, needle):
    index = haystack.index(needle) # throws ValueError when not found
    return (index, index + len(needle))
如果需要索引:

def sim(haystack, needle):
    index = haystack.index(needle) # throws ValueError when not found
    return (index, index + len(needle))

我同意猫的解决方案。FWIW,您可能想研究一下切片语法。如果你在做字符串操作,切片是一个基本的工具。我无法从代码中看出为什么要反转字符串,但如果必须反转,请尝试以下操作:

my_string = "abcdefg"
reversed = my_string[::-1] # here's the slice magic
print(reversed)

我同意猫的解决方案。FWIW,您可能想研究一下切片语法。如果你在做字符串操作,切片是一个基本的工具。我无法从代码中看出为什么要反转字符串,但如果必须反转,请尝试以下操作:

my_string = "abcdefg"
reversed = my_string[::-1] # here's the slice magic
print(reversed)

不清楚您想要什么输出或为什么想要它…我想在较大的stirng中找到子字符串的第一次出现,例如sim('banana','na')将输出'na'。不清楚您想要什么输出或为什么想要它…我想在较大的stirng中找到子字符串的第一次出现,例如sim('banana','na'))将输出“na”。