Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Python Program to Generate Random binary string

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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
Last Updated : 17 Mar, 2023
Like Article
Save Article
Similar Reads
Related Tutorials