我在这里有一个问题,我真的不知道从哪里开始
s1.find(s2)
任何帮助都将不胜感激。
变量s1和s2指的是strs。表达式s1.find(s2)返回s1中第一次出现s2的索引。表达式s1.find(s2,5)返回s1中第一次出现s2的索引,从s1中的索引5开始。 (有关详细信息,请参阅help(str.find))
编写一个表达式,在s1中生成第二次出现s2的索引。如果s2在s1中没有出现两次,则表达式应该生成-1。与str.count不同,您应该允许重叠出现s2。
例如,如果s1为“banana”且s2为“ana”,则表达式应返回3.如果s1为“apple”且s2为“p”,则表达式应返回2.
您的答案必须是不使用方括号(字符串索引和切片)的单个表达式,并且您只能调用方法str.find并使用算术运算符(+, - 等)。
答案 0 :(得分:5)
这打印3。
s1 = 'banana'
s2 = 'ana'
second_index = s1.find(s2, s1.find(s2)+1)
print(second_index)
这会打印-1。
s1 = 'bana'
s2 = 'ana'
second_index = s1.find(s2, s1.find(s2)+1)
print(second_index)
因此,您可能正在寻找的表达式为s1.find(s2, s1.find(s2)+1)
。
答案 1 :(得分:1)
请阅读文档以获取线索: