在我的代码中,我有以下几行:
if numVotes == 0:
avId in self.disconnectedAvIds or self.resultsStr += curStr
当我运行代码时出现此错误?
SyntaxError: illegal expression for augmented assignment
如何修复此错误?
在我的代码中,我有以下几行:
if numVotes == 0:
avId in self.disconnectedAvIds or self.resultsStr += curStr
当我运行代码时出现此错误?
SyntaxError: illegal expression for augmented assignment
如何修复此错误?
那作业
self.resultsStr += curStr
是一个声明。语句不能是表达式的一部分。因此,使用if-statement
:
if avId not in self.disconnectedAvIds:
self.resultsStr += curStr
Python 禁止在表达式中进行赋值,因为人们认为它们经常会导致错误。例如,
if x = 0 # banned
太近了
if x == 0 # allowed
avId in self.disconnectedAvIds
将返回一个布尔值。or
用于在两个布尔值之间进行评估,所以到目前为止它是正确的。
self.resultsStr += curStr
是对变量的赋值。对变量的赋值的形式是lvalue = rvalue
wherelvalue
是一个可以赋值的变量,并且rvalue
是一些表达式,其计算结果为lvalue
. 这不会返回布尔值,因此表达式是非法的。
如果要更改值,请if avId is in self.disconnectedAvIds
使用 if 语句。
if avId in self.disconnectedAvIds:
self.resultsStr += curStr