文字列が与えられた場合、 "TATA__"とすると、その文字列の隣接文字間の差の合計数を見つける必要があります。すなわち、TとAとの間に差異があるが、AとA、または_と_との差異は存在しない。Python 3の文字列の文字数の差の数
私のコードは多かれ少なかれこれを私に伝えます。しかし、 "TTAA__"のような文字列が与えられた場合、それは計画どおりに動作しません。
文字列内の文字を取り、その隣の文字が最初の文字と等しくないかどうかを確認する必要があります。それが実際に等しくない場合、私は実行カウントに1を加える必要があります。等しい場合、何もカウントに追加されません。
def num_diffs(state):
count = 0
for char in state:
if char != state[char2]:
count += 1
char2 += 1
return count
私は応答として4を得るnum_diffs( "TATA__")を使用して、それを実行すると:私はこれまで持っているもの
これ。 num_diffs( "TTAA__")でそれを実行すると、私も4になります。答えは2でなければなりません。
それが意味をなさえすれば、誰かが私のエラーがどこにあるのかを教えてくれるでしょうか?私は状態[char2]と関係があると感じています。申し訳ありませんが、これがちょっとした問題のように思えるのは、私がPython言語に全く新しいことです。
* char2 *は使用前に定義されていないため、あなたの例は[検証可能または完全ではありません](http://stackoverflow.com/help/mcve)です。コード例を修正してください。 –
'char2'の値は何ですか? – ILostMySpoon
しかし、私は 'num_diffs(" TTAA __ ")に' 3'を期待しています。なぜ '2'であるべきか説明できますか? – styvane