Python SyntaxError: cannot assign to operator Solution

Posted in /

Vinay Khatri
Last updated on July 20, 2024

We can assign the result of a mathematical calculation to a variable, but we can not assign a value to a mathematical expression. While assigning a value to a variable in Python , we write the variable name on the left side of the assignment operator "=" and the mathematical computational expression on the right side. But if we try to switch it around, we will encounter the error SyntaxError: cannot assign to operator .

This Python guide will discuss the above error and how to solve it. Also, we shall go through an example demonstrating this error, so you can learn how to solve it yourself.

So let's get started.

Python Error - SyntaxError: cannot assign to operator

According to the syntax defined by Python, when we want to assign a computational mathematical value to a variable, we need to write the variable on the left side and the mathematical computation on the right side of the assignment operator "=". In simple terms, You must write a mathematical expression on the right side and a variable on the left.

Example

x = 20 + 30
print(a)     #50

The above example is the correct syntax to assign a mathematical computational value to a variable x. When the Python interpreter reads the above code, it assigns 20+30 , i.e., 50 to the variable x .

But if we switch the position of the mathematical computation and variable, we encounter the SyntaxError: cannot assign to operator Error.

Example

20 + 30 = a    # SyntaxError: cannot assign to operator print(a)

The error statement SyntaxError: cannot assign to operator has two parts.

1. SyntaxError (Exception type)
2. cannot assign to the operator (Error Message)

1. SyntaxError

SyntaxError is a standard Python exception. It occurs when we violate the syntax defined for a Python statement.

2. cannot assign to operator

"cannot assign to operator" is an error message. The Python interpreter raises this error message with the SyntaxErorr exception when we try to perform the arithmetic operation on the left side of the assignment operator. Python cannot assign the value on the right side to the mathematical computation on the left side.

Common Example Scenario

Now, you know the reason why this error occurs. Let us now understand this through a simple example.

Example

Let's say we have a list prices that contains the original prices of the different products. We need to write a program that discounts 10 rupees from every product price and adds a 2 rupee profit to every price.

discount = 10
profit = 2

prices = [7382, 3623, 9000,3253,9263,9836]

for i in range(len(prices)):
# discount 10 and profit 2
prices[i] + (profit - discount) = prices[i]

print(prices)

Output

File "main.py", line 9
prices[i] + (profit - discount) = prices[i]
^
SyntaxError: cannot assign to operator

Break the code

In the above example, we get the error SyntaxError: cannot assign to operator because the variable to which we want to assign the value " prices[i] " is on the right side of the assignment operator, and the value that we want to assign prices[i] + (profit - discount) is on the left side.

Solution

When we want to assign a mathematical or arithmetic result to a variable in Python, we should always write the variable on the left side of the assignment operator and the mathematical computational value on the right side. To solve the above example error, we need to ensure that the prices[i] must be on the left side of the assignment operator.

discount = 10
profit = 2

prices = [7382, 3623, 9000,3253,9263,9836]

for i in range(len(prices)):
# discount 10 and profit 2
prices[i] = prices[i] + (profit - discount)
print(prices)

Output

[7374, 3615, 8992, 3245, 9255, 9828]

Conclusion

When we try to assign a value to a mathematical computational statement, the " SyntaxError: cannot assign to operator" error is raised in a Python program. This means if you write the mathematical computational expression on the assignment operator's left side, you will encounter this error. To debug or fix this error, you need to ensure that the variable or variables you write on the left side of the assignment operator do not have an arithmetic operator between them.

If you still get this error in your Python program, you can share your code and query in the comment section. We will try to help you with debugging.

Happy Coding!