为什么left = lambda: cursor = cursor - 1
工作而left = lambda: cursor -= cursor
给我一个语法错误?你知道吗
在lambda
中就地减法有问题吗?你知道吗
编辑: 一点背景。 我正在尝试与一个成员一起上课,例如:
self.instructions = {
"0": lambda: self.tape[self.cursor] = 0
"1": lambda: self.tape[self.cursor] = 1
"L": lambda: self.cursor -= 1
"R": lambda: self.cursor += 1
"HALT" = lambda: self.halted = True]
}
我该怎么做?你知道吗
lambda
表达式是只返回值的函数的快捷方式:大致与
您的两个示例都不起作用,因为赋值在Python中并不像在其他一些语言(特别是类似于C的语言)中那样是一个表达式。也就是说,
cursor = cursor - 1
不能像cursor -= 1
一样位于lambda
中。两者都不能放在return
语句中。你知道吗您使用的
lambda
表达式语法错误。看看这个例子:直截了当的解决方案:
不是最好的设计,但它应该工作。你知道吗
相关问题 更多 >
编程相关推荐