def check_over(mark):
######################################
#This checks for a win################
######################################
if board[1] == mark and board[2] == mark and board[3] == mark
or board[4] == mark and board[5] == mark and board[6] == mark
or board[7] == mark and board[8] == mark and board[9] == mark
or board[1] == mark and board[4] == mark and board[7] == mark
or board[2] == mark and board[5] == mark and board[8] == mark
or board[3] == mark and board[6] == mark and board[9] == mark
or board[1] == mark and board[5] == mark and board[9] == mark
or board[3] == mark and board[5] == mark and board[7] == mark:
print(f'{mark} won!')
此代码在我尝试调用它时产生以下错误:
if board[1] == mark and board[2] == mark and board[3] == mark
^
SyntaxError: invalid syntax
此功能用于根据名为board的python列表检查井字游戏中的胜利。
我的问题在哪里?
编辑:尝试修复代码时遇到另一个错误,仍然需要帮助!
def check_over(mark):
######################################
#This checks for a win################
######################################
if board[1] == mark and board[2] == mark and board[3] == mark or board[4] == mark and board[5] == mark and board[6] == mark or board[7] == mark and board[8] == mark and board[9] == mark or board[1] == mark and board[4] == mark and board[7] == mark or board[2] == mark and board[5] == mark and board[8] == mark or board[3] == mark and board[6] == mark and board[9] == mark or board[1] == mark and board[5] == mark and board[9] == mark or board[3] == mark and board[5] == mark and board[7] == mark:
print(f'{mark} won!')
return True
elif " " not in board:
###############################
#This checks for tie###########
###############################
print('The game ended in a tie!')
return True
它给我以下错误:
def check_over(mark):
^
IndentationError: expected an indented block
您正在发生SyntaxError
,因为您没有使用\
字符跨越多行
def check_over(mark):
######################################
#This checks for a win################
######################################
if board[1] == mark and board[2] == mark and board[3] == mark \
or board[4] == mark and board[5] == mark and board[6] == mark \
or board[7] == mark and board[8] == mark and board[9] == mark \
or board[1] == mark and board[4] == mark and board[7] == mark \
or board[2] == mark and board[5] == mark and board[8] == mark \
or board[3] == mark and board[6] == mark and board[9] == mark \
or board[1] == mark and board[5] == mark and board[9] == mark \
or board[3] == mark and board[5] == mark and board[7] == mark:
print(f'{mark} won!')
在python的行中间不能有新行。尝试以下操作:
if board[1] == mark and board[2] == mark and board[3] == mark or board[4] == mark and board[5] == mark and board[6] == mark or board[7] == mark and board[8] == mark and board[9] == mark or board[1] == mark and board[4] == mark and board[7] == mark or board[2] == mark and board[5] == mark and board[8] == mark or board[3] == mark and board[6] == mark and board[9] == mark or board[1] == mark and board[5] == mark and board[9] == mark or board[3] == mark and board[5] == mark and board[7] == mark:
print(f'{mark} won!')