我应该编写一个具有三个参数的函数,然后它基本上必须在第一个参数中找到第三个参数的实例,然后它应该在第三个参数之后返回第二个参数的第一个实例。
例:
print(find_instance_character(everyone, e, v))
它应该返回索引2,因为第一个e出现在我们的第三个参数为1之前,所以函数必须在第三个参数之后找到第二个参数的实例。
我在想我会在这里使用切片或范围,但我不知道用户输入的第一个参数的长度。
首先,您需要输入字符串print(find_instance_character('everyone', 'e', 'v'))
我会用find来获取第一个c的位置。然后拼接字符串并再次使用find来获取第一个b相对于第一个c出现的位置。添加这些给出了a中第一个c之后的第一个b的绝对位置。
def find_instance_character(a,b,c):
loc = a.find(c)
return loc + a[loc:].find(b)
此外,如果找不到某个字符,这个添加会搞乱,因为find会返回-1。要解决此问题,您必须使用if条件来检查两个find()调用是否返回-1。
尝试find()
,它返回字符串中指定的第一个字符索引。
str.find(sub[, start[, end]])
sub:必需。搜索的字符串。
开始:可选。搜索开始位置。
结束:可选。搜索结束位置。
def find_instance_character(s, a, b):
return s.find(a, s.find(b))
print(find_instance_character("everyone", "e", "v"))
# 2