 GeeksforGeeks App
Open App Browser
Continue

# Python Program to Generate Random binary string

Given a number n, the task is to generate a random binary string of length n.
Examples:

```Input: 7
Output: Desired length of random binary string is:  1000001

Input: 5
Output: Desired length of random binary string is:  01001```

Approach

• Initialize an empty string, say key
• Generate a randomly either “0” or “1” using randint function from random package.
• Append the randomly generated “0” or “1” to the string, key
• Repeat step 2 and 3 for the desired length of the string

Below is the implementation.

## Python3

 `# Python program for random``# binary string generation`  `import` `random`  `# Function to create the``# random binary string``def` `rand_key(p):``  ` `    ``# Variable to store the``    ``# string``    ``key1 ``=` `""` `    ``# Loop to find the string``    ``# of desired length``    ``for` `i ``in` `range``(p):``        ` `        ``# randint function to generate``        ``# 0, 1 randomly and converting``        ``# the result into str``        ``temp ``=` `str``(random.randint(``0``, ``1``))` `        ``# Concatenation the random 0, 1``        ``# to the final result``        ``key1 ``+``=` `temp``        ` `    ``return``(key1)` `# Driver Code``n ``=` `7``str1 ``=` `rand_key(n)``print``(``"Desired length random binary string is: "``, str1)`

Output:

`Desired length random binary string is:  1000001`

The Time and Space Complexity for all the methods are the same:

Time Complexity: O(n)

Auxiliary Space: O(n)

Using random.getrandbits():

## Python3

 `import` `random` `def` `generate_binary_string(n):``    ``# Generate a random number with n bits``    ``number ``=` `random.getrandbits(n)``    ``# Convert the number to binary``    ``binary_string ``=` `format``(number, ``'0b'``)``    ``return` `binary_string` `# Test the function``n ``=` `7``print``(``"Random binary string of length {}: {}"``.``format``(n, generate_binary_string(n)))``#This code is contributed by Edula Vinay Kumar Reddy`

Output

`Random binary string of length 7: 1010000`

Explanation:

The random.getrandbits(n) function generates a random number with n bits.
The format() function is used to convert the number to binary format. The format string ‘0b’ specifies that the output should be in binary form.

Time Complexity: O(n), where n is the number of bits in the binary string.

Auxiliary Space: O(n), where n is the number of bits in the binary string. This is the space required to store the binary string.

My Personal Notes arrow_drop_up