0

第 4 个 elif 结局抛出错误,无法分配给操作员。我正在尝试设计一个井字游戏并根据他们的选择分配玩家 X 和 0。不能分配给操作员

def player_input(player):
    marker = ''
    while(marker != 'X' and marker != '0'):
        marker = input('{},choose X or 0:'.format(player))

    if(player == 'Player1' and marker == 'X'):
        temp_player1 = 'Player1' and player1_marker = 'X' and temp_player2 = 'Player2' and player2_marker = '0'
    elif(player == 'Player1' and marker == '0'):
        temp_player1 = 'Player1' and player1_marker = '0' and temp_player2 = 'Player2' and player2_marker = 'X'
    elif(player == 'Player2' and marker == 'X'):
        temp_player1 = 'Player1' and player1_marker = '0' and temp_player2 = 'Player2' and player2_marker = 'X'
    elif(player == 'Player2' and marker == '0'):
        temp_player1 = 'Player1' and player1_marker = 'X' and temp_player2 = 'Player2' and player2_marker = '0'
    else:
        pass

    return(temp_player1,player1_marker,temp_player2,player2_marker)
4

2 回答 2

0

删除每个 if 语句中的 and 运算符并用分号替换它们;as and 是一个运算符,它让 python 分配和分配给一个变量

更正后的代码是:

if(player == 'Player1' and marker == 'X'):
    temp_player1 = 'Player1' ;  player1_marker = 'X' ; temp_player2 = 'Player2' ; player2_marker = '0'
elif(player == 'Player1' and marker == '0'):
    temp_player1 = 'Player1' ; player1_marker = '0'; temp_player2 = 'Player2' ; player2_marker = 'X'
elif(player == 'Player2' and marker == 'X'):
    temp_player1 = 'Player1' ; player1_marker = '0' ; temp_player2 = 'Player2' ;player2_marker = 'X'
elif(player == 'Player2' and marker == '0'):
    temp_player1 = 'player1'; player1_marker = 'X' ;temp_player2 = 'Player2'; player2_marker = '0'
else:
    pass
于 2018-12-25T07:48:03.390 回答
0

将您的作业分开到不同的行:

if(player == 'Player1' and marker == 'X'):
    temp_player1 = 'Player1'
    player1_marker = 'X'
    temp_player2 = 'Player2'
    player2_marker = '0'
elif(player == 'Player1' and marker == '0'):
    temp_player1 = 'Player1'
    player1_marker = '0'
    temp_player2 = 'Player2'
    player2_marker = 'X'
elif(player == 'Player2' and marker == 'X'):
    temp_player1 = 'Player1'
    player1_marker = '0'
    temp_player2 = 'Player2'
    player2_marker = 'X'
elif(player == 'Player2' and marker == '0'):
    temp_player1 = 'player1'
    player1_marker = 'X'
    temp_player2 = 'Player2'
    player2_marker = '0'
else:
    pass

您应该阅读缩进在 python 中的工作原理 出于可读性考虑,将多个语句放在一行中并不是很常见

于 2018-12-25T09:46:07.130 回答