thanks! And what in the reasoning is wrong if we try to transform n into a string by simply doing:

n= str(n)

?

Nothing, you just have to remember that you work with strings. You can't just do:

```
n = 123456
result = 0
for i in str(n):
result += i
```

You have to remember to turn a digit (`i`

) into a int before adding it to the result:

```
n = 123456
result = 0
for i in str(n):
result += int(i)
```

in this block you create the list with the different items. but can you do something to add the items other than return sum(result)?

Of course, we can do that. I just wanted to show how to create list of digits to answer first part of your question. To calculate the sum we just need to change few things:

```
def digit_sum(n):
result = 0
while n:
digit = n % 10
result += digit
n //= 10
return result
```