What parts don’t you understand? You can add in some `print()`

statements to visualize things that may be unclear:

```
def append_sum(lst):
print('lst[-1] is: ', lst[-1])
print('lst[-2] is: ', lst[-2])
lst.append(lst[-1] + lst[-2])
print('lst is now: ', lst)
print('lst[-1] is: ', lst[-1])
print('lst[-2] is: ', lst[-2])
lst.append(lst[-1] + lst[-2])
print('lst is now: ', lst)
print('lst[-1] is: ', lst[-1])
print('lst[-2] is: ', lst[-2])
lst.append(lst[-1] + lst[-2])
print('lst is now: ', lst)
return lst
print(append_sum([1, 1, 2]))
```

I didn’t understand why we used this1st[-1] + 1st[-2]

It’s **lst** not **1st**. `lst`

is the parameter for the function `append_sum`

. The argument supplied for that parameter is found in this line:

```
print(append_sum([1, 1, 2]))
# argument ^^^^^^^^^
```

The argument is a list, so inside the function `lst`

is assigned to `[1, 1, 2]`

.

Did you try running the code I provided with the extra `print()`

's?

Ok I understood thanks

1 Like