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.

- SyntaxError (Exception type)
- 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!

**
People are also reading:
**

- Python TypeError: ‘float’ object cannot be interpreted as an integer Solution
- How to check the size of a file using Python?
- Python TypeError: ‘NoneType’ object is not callable Solution
- What is a constructor in Python?
- Python typeerror: ‘int’ object is not subscriptable Solution
- Difference Between Del, Remove and Pop on Python Lists
- Python TypeError: ‘NoneType’ object is not subscriptable Solution
- How to Build a Port Vulnerability Scanner in Python?
- Python TypeError: object of type ‘int’ has no len() Solution
- How to print colored Python output on the terminal?

## Leave a Comment on this Post