0

在我的代码中,我有以下几行:

if numVotes == 0:
    avId in self.disconnectedAvIds or self.resultsStr += curStr

当我运行代码时出现此错误?

SyntaxError: illegal expression for augmented assignment

如何修复此错误?

4

2 回答 2

3

那作业

self.resultsStr += curStr

是一个声明。语句不能是表达式的一部分。因此,使用if-statement

if avId not in self.disconnectedAvIds:
    self.resultsStr += curStr

Python 禁止在表达式中进行赋值,因为人们认为它们经常会导致错误。例如,

if x = 0    # banned

太近了

if x == 0   # allowed
于 2014-04-13T21:11:37.297 回答
1

avId in self.disconnectedAvIds将返回一个布尔值。or用于在两个布尔值之间进行评估,所以到目前为止它是正确的。

self.resultsStr += curStr是对变量的赋值。对变量的赋值的形式是lvalue = rvaluewherelvalue是一个可以赋值的变量,并且rvalue是一些表达式,其计算结果为lvalue. 这不会返回布尔值,因此表达式是非法的。

如果要更改值,请if avId is in self.disconnectedAvIds使用 if 语句。

if avId in self.disconnectedAvIds:
    self.resultsStr += curStr
于 2014-04-13T21:12:56.753 回答