python中的奇数sytax错误:无效语法
所以无论出于什么原因,我总是会遇到语法错误,我似乎不知道为什么。当我注释掉它传播的错误所在的行时,但当我将麻烦的部分放入一个新文件中时,它会继续传播,从语法上看,我在所有代码的上面或下面都没有看到任何错误python中的奇数sytax错误:无效语法,python,syntax,Python,Syntax,所以无论出于什么原因,我总是会遇到语法错误,我似乎不知道为什么。当我注释掉它传播的错误所在的行时,但当我将麻烦的部分放入一个新文件中时,它会继续传播,从语法上看,我在所有代码的上面或下面都没有看到任何错误 def removeBlock(pos, blocks): return blocks[pos] -= 1 def addBlock(pos, blocks): return blocks[pos] += 1 def left(pos): return pos -= 1
def removeBlock(pos, blocks):
return blocks[pos] -= 1
def addBlock(pos, blocks):
return blocks[pos] += 1
def left(pos):
return pos -= 1
def right(pos):
return pos += 1
def done():
return "quit"
actions = {
"P": removeBlock,
"D": addBlock,
"L": left,
"R": right,
"X": done
}
错误是:
SyntaxError:无效语法
它出现在代码的第二行。Python
-=
操作符没有给出返回值。也适用于+=
等
尝试:
还是你不想换街区
def removeBlock(pos, blocks):
return blocks[pos] - 1
不能返回类似于
返回块[pos]-=1
的赋值操作。返回返回块[pos]-1
或使用此块[pos]=1
然后返回块[pos]
请试试这个:
def removeBlock(pos, blocks):
blocks[pos] -= 1
return blocks[pos]
def addBlock(pos, blocks):
blocks[pos] += 1
return blocks[pos]
def left(pos):
pos -= 1
return pos
def right(pos):
pos += 1
return pos
def done():
return "quit"
actions = {
"P": removeBlock,
"D": addBlock,
"L": left,
"R": right,
"X": done
}
我已经用两行代码尝试过了,这两行代码都是这样做的,并将块移动到返回的位置,但这只会使错误进一步向下传播,直到我在更大的范围内声明pos=0code@user3630096-您必须修复所有
返回的内容-=
(和+=)。我在您发布的代码中看不到pos=0
。对于这段代码,它只是将语法问题向下移动到返回的pos-=1@user3630096-是的,您需要修复代码中出现的所有此问题。我只是解释了什么是不正确的。好吧,我明白了,我是瞎的,对不起,你不能返回赋值操作
,比如返回块[pos]-=1
。返回returnblocks[pos]-1
或者使用这个blocks[pos]=1
thenreturnblocks[pos]
。我看到你在使用同样的返回语句。请在所有功能中进行更改。
def removeBlock(pos, blocks):
blocks[pos] -= 1
return blocks[pos]
def addBlock(pos, blocks):
blocks[pos] += 1
return blocks[pos]
def left(pos):
pos -= 1
return pos
def right(pos):
pos += 1
return pos
def done():
return "quit"
actions = {
"P": removeBlock,
"D": addBlock,
"L": left,
"R": right,
"X": done
}