2016-09-18 9 views
-1

Python Infant here。 いいえ。文字列「s」に「ジャム」が発生します。 出力はここでは3になるはずですが、私には1が表示されます。私はここで間違っていますか?文字列の部分文字列をカウントする

s='jamrejaminjam' 
word ='jam' 
count =0 
for letters in s: 
    if letters in word: 
     count =+1 
print(count) 
+1

「+ = 1」である必要があります。 – vaultah

+0

@vaultahは動作しません – barbapapa

+2

'count = + 1'はあなたが信じていることをしません。これは単に毎回*をカウントするために '1'を割り当てます。ボルタが示唆したように、それを 'count + = 1'に変更してください。これで部分文字列は見つかりませんが、 'SyntaxError'を修正するだけです。 –

答えて

-1

これを試してください。

s='jamrejaminjam' 
word ='jam' 
count =0 
for index, letters in enumerate(s): 
    if word == s[index:index+len(word)]: 
     count += 1 
print(count) 
+3

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – MattDMo

+0

私はあなたに正直に同意しません。私のスニペットは元のコードから2つだけ変更されています。最初は列挙され、2番目は文字列スライシングです。私が賢明なことや理解しにくいことをしていない限り、それ以上の質問をすることを学びたいと思う人の責任です。私はあなたがソフトウェア業界にいると仮定しています。そして、私は、スプーンフィードが必要な人は業界で生き残れないと知っています。私はいくつかの控えめな編集を行いました。そして、これらを使用する方法を説明しているGoogleとSOにたくさんの例があります。したがって、OPには、質問をし続ける! – Joe

+1

あなたは600文字のコメントを書いて、なぜ数行のコードを説明するのが面倒で、将来の訪問者のために答えを向上させるのか説明します。可愛い。そして、すべてのプログラマーがソフトウェア産業に属するわけではないことを覚えておいてください。 – MattDMo

関連する問題