これは、あなたが何をしようとしても可能性があります返信あたり
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の中のvalの位置を返しますstr.find(val)
。それはそうでは、大文字と小文字が区別され、「ハロー、ハロー」、str.find("h")
は7を返すとstr.find("H")
問題は、それはあなたの行>>> find_first_occurrence('October holidays: Halloween and Thanksgiving', 'H') 8
を与えることによって、ケーシングを考慮するべきではないことを示唆している0
返します。
典型的には、'H'
は、Hがキャピトルであるため、位置18になる。しかし彼らはあなたが小文字である8位を取るべきだと言っているので、ケーシングは問題ではないはずです。
string_to_find = string_to_find.lower();
とmsg = msg.lower();
を行うと、すべての小文字の文字列に小文字が最初に現れます。
関数のパラメータに型を追加しないでください... – Sweeper
'msg.find(str_to_find)'がうまく動作するときに関数 'find_first_occurrence'が必要なのはなぜですか? –
あなたは何を期待していますか、何を受け取っていますか?それは動作するはずです。それを関数に入れても魔法のように修正されることはありません。 –