在我的代码中,我有以下几行:
if numVotes == 0:
avId in self.disconnectedAvIds or self.resultsStr += curStr
当我运行代码时出现此错误?
SyntaxError: illegal expression for augmented assignment
如何解决此错误?
答案 0 :(得分:3)
作业
self.resultsStr += curStr
是一份声明。 Statements can not be part of expressions。因此,请使用if-statement
:
if avId not in self.disconnectedAvIds:
self.resultsStr += curStr
Python禁止在表达式中进行赋值,因为它被认为经常会导致错误。例如,
if x = 0 # banned
太近了
if x == 0 # allowed
答案 1 :(得分:1)
avId in self.disconnectedAvIds
将返回一个布尔值。 or
用于评估两个布尔值,因此到目前为止它是正确的。
self.resultsStr += curStr
是对变量的赋值。对变量的赋值的格式为lvalue = rvalue
,其中lvalue
是可以赋值的变量,rvalue
是一个表达式,用于计算lvalue
的数据类型。这不会返回布尔值,因此表达式是非法的。
如果要更改值if avId is in self.disconnectedAvIds
,请使用if语句。
if avId in self.disconnectedAvIds:
self.resultsStr += curStr