在不使用乘法或除法的情况下,可以通过使用加法和减法来实现“不可赋值的表达式”。
以下是一个示例代码来解决这个问题:
def calculate(expression):
stack = []
for char in expression:
if char.isdigit():
stack.append(int(char))
elif char == '+':
stack.append(stack.pop() + stack.pop())
elif char == '-':
stack.append(-stack.pop() + stack.pop())
return stack[0]
expression = "1+2-3-4+5"
result = calculate(expression)
print(result) # 输出: 1
在这个示例中,我们使用了一个栈来保存数字,并按照正负号进行相加或相减,最终得到结果。注意,这种方法只适用于只包含加法和减法的表达式。如果表达式中包含其他操作符(如乘法和除法),那么这个方法将不再有效。