2017-09-29 11 views
-2
def find_first_occurrence(msg: str, string_to_find: str) -> int: 
    return str.find(msg,string_to,find) 

これは問題で、return文を作成/完了することになっていますが、return文は間違っています。私は真に私が間違っていることを知らないが、私がそれをテストすると明らかに間違っている。シンプルな問題のようですが、私は数時間それに固執してきました!str.find return文が間違っていますが、わかりません。理由はわかりません。

+0

関数のパラメータに型を追加しないでください... – Sweeper

+0

'msg.find(str_to_find)'がうまく動作するときに関数 'find_first_occurrence'が必要なのはなぜですか? –

+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の中の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();を行うと、すべての小文字の文字列に小文字が最初に現れます。

+0

ありがとう!あなたはこれを手に入れた方法を説明することができますか?申し訳ありませんが、ちょうどプログラミングに初心者で、自分の能力を最大限に引き出したいと思っています。あなたは、あなたが大文字小文字を気にしないことをどのように考えましたか? – elitecheese1337

+0

私の答えを編集しました。 –

関連する問題