为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2021-08-11 22:45:36
该函数接受一个字符串列表 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)
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

我认为,您必须返回一个字符串的索引,它是给定列表中某个其他字符串的子字符串。如果没有符合上述条件的字符串,则必须返回 -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


查看完整回答
反对 回复 2021-08-11
?
森栏

TA贡献1810条经验 获得超5个赞

该函数被赋予一个字符串列表。它应该在列表中找到一个元素,该元素是列表中某个其他元素的子字符串。它应该返回包含子字符串的元素的索引,或者-1如果没有。

例如,在第二个示例中,soul是 的子字符串soulmate,因此它返回0, 的索引soul。在最后一个示例中,apple是 的子字符串applejuice,因此它返回4, 的索引apple。在另外两个示例中,没有一个字符串是其他字符串的子字符串,因此它们返回-1.

如果有多个元素满足条件,则说明没有说明该怎么做,例如,在["soul", "mate", "soulmate"]两者中soulmate都是 的子字符串soulmate,并且 in["soul", "ice", "soulmate", "juice"] soul是 的子字符串,soulmate并且ice是 的子字符串juice。我想你可以使用你为它设计的任何算法返回你遇到的第一个元素的索引。


查看完整回答
反对 回复 2021-08-11
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信