3

以下のコード ブロックの次のエラーを理解するのに苦労しています。

if o == None or t == None:
 try:
elif o == 1 and t == 1:
  c1 = c1 + 1
elif o == -1 and t == -1:
  c2 = c2 + 1
elif o == -1 and t == 1:
  i1 = i1 + 1                
elif o == 1 and t == -1:
  i2 = i2 + 1
 return (c1, i1, c2, i2)

エラー :

elif o == 1 and t == 1:
   ^
Syntax error : invalid syntax 

誰かが私が間違っていることを指摘できますか? プログラムの正しいインデントに従いました。

4

4 に答える 4

4

これは正しくインデントされたコードの構造なので、何が問題なのかが明らかになったのではないでしょうか?

if o == None or t == None:
    try:
        elif o == 1 and t == 1:
            c1 = c1 + 1
        elif o == -1 and t == -1:
            c2 = c2 + 1 elif o == -1 and t == 1:
            i1 = i1 + 1
        elif o == 1 and t == -1:
            i2 = i2 + 1 
return (c1, i1, c2, i2)
于 2013-04-28T07:52:56.573 に答える
0

あなたのコードは正しいですが、フォーマットが間違っています。

深刻なことは何もありませんが、フォーマットはPythonで非常に効果的であり、空白の量が間違っているため、コード全体が台無しになる可能性があります. セミコロンによる構成と句読点も重要です。

これが正しいフォーマットです。

if o == None or t == None:
    try:
        elif o == 1 and t == 1:
            c1 = c1 + 1
        elif o == -1 and t == -1:
            c2 = c2 + 1
        elif o == -1 and t == 1:
            i1 = i1 + 1                
        elif o == 1 and t == -1:
            i2 = i2 + 1

    except:
        ...

return (c1, i1, c2, i2)

素晴らしい質問です。これは、スタック オーバーフローが発生している間ずっと使用されます。がんばり続ける!

于 2016-04-07T21:10:21.710 に答える