简体   繁体   English

无法分配给运算符python

[英]can't assign to operator python

i have this code: 我有这个代码:

for k in range(0,player_competition[0]):
    max_player=player_name[i][k]
    score=0
    for m in range(0,player_competition[1]):
        if real_scores[m][0]=='?' or real_scores[m][1]=='?':
            prediction_real_difference.append(['?','?'])
        else:   
            prediction_real_difference.append( [abs(x-y) for (x,y) in zip(competition_prediction[k*player_competition[1]+m],real_scores[m])] )
        if prediction_real_difference[k*player_competition[1]+m][0]=='?' or prediction_real_difference[k*player_competition[1]+m][1]=='?':
            score+=0
        else:   
            if competition_prediction[k*player_competition[1]+m][0]>competition_prediction[k*player_competition[1]+m][1] and real_scores[m][0]>real_scores[m][1]:
                score+=10
            if competition_prediction[k*player_competition[1]+m][0]<competition_prediction[k*player_competition[1]+m][1] and real_scores[m][0]<real_scores[m][1]:
                score+=10
            if prediction_real_difference[k*player_competition[1]+m][0]<5:
                score+= (5-prediction_real_difference[k*player_competition[1]+m][0])
            if prediction_real_difference[k*player_competition[1]+m][1]<5:
                score+= (5-prediction_real_difference[k*player_competition[1]+m][1])            
            if score_difference[k*player_competition[1]+m]-real_score_difference[m] < 5 :
                score+= (5 - (score_difference[k*player_competition[1]+m]-real_score_difference[m]))
    final_scores[player_name[i][k]]=score
    if score > max_score:
        max_score=score and max_player=player_name[i][k]
    print(max_player)

now it's giving me the following error: 现在它给我以下错误:

  File "prediction_game.py", line 58
    maxScore=score and  max_player=player_name[i][k]
               ^
SyntaxError: can't assign to operator

The and is your problem, that's not viable Python code. and是您的问题,这不是可行的Python代码。

In [1]: foo=42 and bar=42
  File "<ipython-input-1-98e4055570ec>", line 1
    foo=42 and bar=42
SyntaxError: can't assign to operator

More specifically, you seem to be using and as a control flow operator -- that's a feature in Ruby (for instance) but not in Python. 更具体地说,您似乎正在使用and作为控制流运算符-例如,这是Ruby中的功能,而在Python中则不是。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM