Python 无法分配运算符错误
我刚开始学Python,差不多一周前才开始写代码。我决定试着做一个单数字计算器。我知道我的代码可能写得不太好,欢迎大家提出建议,但请不要只是批评。好了,下面是我的代码。我在代码中遇到了一个错误,提示说无法分配运算符。我知道这意味着它不能把变量从字符串转换成整数,但我不太确定该怎么解决。此外,我在第25、28、31和34行也遇到了错误。谢谢!
calculate = input("Enter the problem in the format x + y = z ")
opperations = ["+", "-", "*", "/"]
numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
space = " "
def opperation():
if opperations == "+":
A = 1
elif opperations == "-":
A = 2
elif opperations == "*":
A = 3
elif opperations == "/":
A = 4
if calculate[0] in numbers:
if len(calculate) > 1:
if calculate[1] == space:
calculate[0] = a
a = int(a)
calculate[4] = b
b = int(b)
if A == 1:
a + b = c
print (c)
elif A == 2:
a - b = c
print (c)
elif A == 3:
a * b = c
print(c)
elif A == 4:
a / b = c
print(c)
else:
print("Sorry invalid text")
else:
print("Sorry invalid text")
else:
print("Sorry invalid text")
else:
print("Sorry invalid text")
3 个回答
0
你的问题是你错误地使用了 =
这个符号。它的工作原理是:它会计算 右边 的内容,然后把结果放到 左边 的位置。所以,应该是这样的:
c = a + b
你尝试做的事情是把 c
的值赋给表达式 a + b
,这其实是没有意义的。
0
你的问题出在这些代码行:
a + b = c
a - b = c
a * b = c
a / b = c
Python 不是这样工作的。你试图写 (a + b) = c
,这就像在写 5 = c
一样。
如果你想让 c
成为 a
和 b
运算的结果,你需要把这些行调换一下,也就是 c = a + b
。
3
在赋值的左边不能进行操作。你应该在右边进行操作:
c = a + b
c = a - b
另外,你在这一行使用了b
:
calculate[4] = b
b = int(b)
但你还没有先声明它。你必须先声明它。所以,你可能需要检查一下你的逻辑。