1

次のコードでエラーが発生します。

    if self.from_position in self.supporters or 
                                               ^
SyntaxError: invalid syntax

コード:

def validate_move_piece(self):
    if self.from_position in self.supporters or 
    (self.turn == 'X' and self.from_position == self.player_x) or 
    (self.turn == 'Y' and self.from_position == self.player_y) or 
    (self.last_position == self.from_position):
        return True
    else:
        self.error = ERROR_MOVE_FORMAT 
        return False
4

3 に答える 3

4

次のように、if ステートメントの条件全体を括弧で囲みます。

>>> if (True or
... False or
... True):
...     print 'woo'
... 
woo

(これは、インタープリターだけでなく Python ファイルでも機能します。)

于 2012-10-15T04:30:51.673 に答える
4

行末にバックスラッシュ \ を追加します。

if 1==1 and\
2==2:
  print 'hi'
于 2012-10-15T04:31:33.567 に答える
2

を使用()して複数の行を区切ることができます。

たとえば、コードは次のようになります。

def validate_move_piece(self):
    if (self.from_position in self.supporters or 
    (self.turn == 'X' and self.from_position == self.player_x) or 
    (self.turn == 'Y' and self.from_position == self.player_y) or 
    (self.last_position == self.from_position)):
        return True
    else:
        self.error = ERROR_MOVE_FORMAT 
        return False

ほら、私はifステートメントを飲み込んでしまいました()

于 2012-10-15T04:32:20.827 に答える