str.find return语句不正确,虽然我不知道为什么

时间:2017-09-29 17:15:07

标签: python python-2.7 python-3.x

def find_first_occurrence(msg: str, string_to_find: str) -> int:
    return str.find(msg,string_to,find)

这是问题,我应该完成/创建return语句,虽然我的return语句是错误的。我真的不知道我做错了什么,但是当我测试它时显然是错的。看起来像一个简单的问题,但我已经坚持了好几个小时!

1 个答案:

答案 0 :(得分:0)

这可能就是你想要做的事情:

def find_first_occurrence(msg, string_to_find):
    # looks like it wants you to not care about case, as 'H' returns 8 on an 'h'
    string_to_find = string_to_find.lower();
    msg = msg.lower();

    return msg.find(string_to_find);

print find_first_occurrence("October holidays: Halloween and Thanksgiving", "H");

每个回复编辑:

str.find(val)返回str中val的位置。它区分大小写,因此在“Hello,hello”中,str.find("h")将返回7,str.find("H")将返回0.

问题表明它不应该通过给你>>> find_first_occurrence('October holidays: Halloween and Thanksgiving', 'H') 8行来考虑套管。

通常,'H'将获得第18位,因为H是国会大厦。但他们说你应该得到第8位,这是小写的,这表明套管无关紧要。

通过执行string_to_find = string_to_find.lower();msg = msg.lower();,您可以一起删除案例,因此它会在全部小写字符串中找到小写字母的第一个匹配项。