Python 无法分配运算符错误

0 投票
3 回答
844 浏览
提问于 2025-04-17 23:28

我刚开始学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 成为 ab 运算的结果,你需要把这些行调换一下,也就是 c = a + b

3

在赋值的左边不能进行操作。你应该在右边进行操作:

c = a + b
c = a - b

另外,你在这一行使用了b

calculate[4] = b
b = int(b)

你还没有先声明它。你必须先声明它。所以,你可能需要检查一下你的逻辑。

撰写回答