2017-10-02 6 views
0

私はこのコードがうまくいくはずですが、構文エラーが出てくると思います。私は、次を使用して文字で二つの文字列の文字を比較しようとしています:Python。私は2つの文字列をforループを使って文字ごとに比較しようとしています

user_score = 0 
simon_pattern = 'RRGBRYYBGY' 
user_pattern = 'RRGBBRYBGY' 

for i in range(len(user_pattern-1)): 
    if user_pattern[i] == simon_pattern[i] 
     user_score += 1 

「user_pattern場合は、[I] == simon_pattern [i]を」エラーがラインに来ます。私はどこに間違って行ったかについてのガイダンスを探しています。

+3

その行の最後にコロンがありません。 typoとしてのVTC。 – Carcigenicate

+0

将来的には、私たちが推測していないようにエラーメッセージを投稿してください(そして読んでください) – user3080953

答えて

3

あなたの誤字(if節の後ろにある:)がコメント内で指摘されています。あなたがzipを使用してコードを短くできることに注意してください、ペアワイズ並列シーケンス処理を処理するための組み込みの方法、およびsum

user_score = sum(a==b for a, b in zip(simon_pattern, user_pattern)) 
0

オクラホマので、速く答えていただきありがとうございます。タイプミスは私の終わりになるでしょう。ここに最終コードがあります。目標は、2つの文字列を順番に比較し、一致する文字ごとに1つのポイントを追加することでした。

user_score = 0 
simon_pattern = 'RRGBRYYBGY' 
user_pattern = 'RRGBBRYBGY' 

for i in range(len(user_pattern)): 
    if user_pattern[i] is simon_pattern[i]: 
     user_score += 1 
    else: 
     break 

print('User score:', user_score) 
+0

あなたの期待スコアはこの例で8か8ですか?後者の場合は、elseブロックを削除します。 – schwobaseggl

関連する問題