# Teacher Note: Names on either side of =¶

Notice that we can use a variable name on either side of the equal sign, `=`

(the assignment operator). However, also notice that a variable name is treated differently when found on the left or the right of the equal sign .

For instance, consider this series of assignment statements:

If we think of a variable as a **box** that holds a *value*, the meaning of line 1 is fairly obvious: place the *value* 5 in the **box** labelled `a`

. In line 1, `a`

stands for the **box** associated with the name `a`

.

In line 2, however, `a`

is found on the right side of `=`

. In this case, `a`

no longer stands for the **box** labelled `a`

, but rather, the *value* stored in the box labelled `a`

. Therefore, `a + 1`

in this case actually means `5 + 1`

. In fact, line 2 is executed in these steps:

Evaluate the expression

`a + 1`

to produce a valueReplace

`a`

in the expression with the*value*stored in`a`

, to produce the expression`5 + 1`

Evaluate the expression

`5 + 1`

to produce the value 6Store the value produced (6) in the variable

`b`

Of course, the computer performs all these steps for you!

After the first two lines are executed, the print statements will show that `a`

will contain 5, while `b`

will contain 6.

## Incrementing a variable¶

It’s important to understand the above steps to make sense of the following example. This is a common operation in which the value of a variable is *incremented* (it’s value is increased by 1):

Line 1 may be straightforward to interpret (assign 5 to the box labelled `a`

), but in line 2, `a`

appears twice! This may prove to be confusing to some students. But armed with the above understanding, we can interpret line 2 as follows:

Evaluate the expression

`a + 1`

to produce a valueReplace

`a`

in the expression with the*value*stored in`a`

, to produce the expression`5 + 1`

Evaluate the expression

`5 + 1`

to produce the value 6Store the value produced (6) in the variable

`a`

Run the above code to see what the value of the box labelled `a`

is when it is printed.

### Self check¶

Consider the following code when trying to solve the problem below:

```
distance = 924.7
mpg = 35.5
gallons = distance / mpg
```

The following mixed-up blocks represent the steps that the computer performs to execute these lines. Drag the blocks from the left and put them in the correct order on the right. Click the <i>Check Me</i> button to check your solution.</p>