# python – How to randomly get 0 or 1 every time?

## python – How to randomly get 0 or 1 every time?

The problem is that your code generates a single value and then prints it repeatedly. A simplified version of the problem would be this:

```
k = random.randint(0, 1) # decide on k once
for _ in range(n):
print(k) # print k over and over again
```

This will generate `k`

, then print it `n`

times, but what you want is to generate a new value to print each time

```
for _ in range(n):
k = random.randint(0, 1) # decide on a k each time the loop runs
print(k)
```

You can generate the matrix itself using a nested list comprehension (which may be more than you want to know at this point, but worth showing)

```
[[random.randint(0, 1) for _ in range(n)] for _ in range(n)]
```

the inner part `[random.randint(0, 1) for _ in range(n)]`

will give you `n`

values in the range 0-1. nesting that in another comprehension gives you `n`

of those.

```
from random import randint
n = int(input (Enter an interger number:))
matrix = (
[str(randint(0, 1)) for _ in range(0, n)] for _ in range(0, n)
)
for row in matrix:
print .join(row)
```

FYI. check this documentation about list comprehension

#### python – How to randomly get 0 or 1 every time?

```
def printMatrix(n):
return n + 0
def main():
n = int(input (Enter an interger number:))
matrix = ([str(randint(0, 1)) for _ in range(0, n)] for _ in range(0, n))
for row in matrix:
print( .join(row))
main()
```