## Issue

Create a function that takes as input a list of integers, and which outputs a list of the binary digit lists obtained from your `integertobinary()`

function. The order in which the binary digit lists appear should match the order of the list of input integers.

For example, if the input to your function is `[14,3,8,5]`

the output should be `[[1,1,1,0],[1,1],[1,0,0,0],[1,0,1]]`

.

Here is what I have done so far:

```
def integertobinary(L):
for n in L:
y = []
while(n>0):
a=n%2
y.append(a)
n=n//2
y.reverse()
return y
print(integertobinary([5,6,7,8,9]))
```

As a result, I am getting: `[1, 0, 0, 1]`

when I am supposed to get `[[1,1,1,0],[1,1],[1,0,0,0],[1,0,1]]`

. What am I doing wrong?

## Solution

The reason seems to be that you clear the value of y in every iteration. You need to make another variable to store all the values. The code might be:

```
def integertobinary(L):
y = []
for n in L:
z = []
while(n>0):
a=n%2
z.append(a)
n=n//2
z.reverse()
y.append(z)
return y
print(integertobinary([5,6,7,8,9]))
```

Output:

```
[[1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 1]]
```

Answered By – user15471954

Answer Checked By – Mildred Charles (BugsFixing Admin)