该函数输入一个字符串列表 x 并返回一个整数 ptr

该函数接受一个字符串列表 x 的输入,

当且仅当 x[ptr] 是 x 中至少一个其他字符串的子字符串时,才返回整数 ptr 。

否则,它返回-1。

有人能帮我理解这个说法吗?


输出应该是这样的。


def test1_exercise_7(self):

    list1 = ["goat"]

    ptr = fun_exercise_7(list1)

    self.assertTrue(ptr == -1)


def test2_exercise_7(self):

    list1 = ["soul", "soulmate", "origin"]

    ptr = fun_exercise_7(list1)

    self.assertTrue(ptr == 0)


def test3_exercise_7(self):

    list1 = ["FASER", "submission", "online", "drive", "frequent"]

    ptr = fun_exercise_7(list1)

    self.assertTrue(ptr == -1)


def test4_exercise_7(self):

    list1 = ["banana", "applejuice", "kiwi", "strawberry", "apple", "peer"]

    ptr = fun_exercise_7(list1)

    self.assertTrue(ptr == 4)


白衣非少年
浏览 168回答 2
2回答

茅侃侃

我认为,您必须返回一个字符串的索引,它是给定列表中某个其他字符串的子字符串。如果没有符合上述条件的字符串,则必须返回 -1以下功能将有助于实现这一目标!def fun_exercise_7(words):    for idx,word in enumerate(words):        matching=[idx for i,w in enumerate(words) if i!=idx if word in w]        if matching:            return matching[0]        else:            continue    return -1

森栏

该函数被赋予一个字符串列表。它应该在列表中找到一个元素,该元素是列表中某个其他元素的子字符串。它应该返回包含子字符串的元素的索引,或者-1如果没有。例如,在第二个示例中,soul是 的子字符串soulmate,因此它返回0, 的索引soul。在最后一个示例中,apple是 的子字符串applejuice,因此它返回4, 的索引apple。在另外两个示例中,没有一个字符串是其他字符串的子字符串,因此它们返回-1.如果有多个元素满足条件,则说明没有说明该怎么做,例如,在["soul", "mate", "soulmate"]两者中soul和mate都是 的子字符串soulmate,并且 in["soul", "ice", "soulmate", "juice"] soul是 的子字符串,soulmate并且ice是 的子字符串juice。我想你可以使用你为它设计的任何算法返回你遇到的第一个元素的索引。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python