Open In App

Python Program to Generate Random binary string

Last Updated : 17 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads