GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python Tutorial
  • Data Types
  • Interview Questions
  • Examples
  • Quizzes
  • DSA Python
  • Data Science
  • NumPy
  • Pandas
  • Practice
  • Django
  • Flask
  • Introduction1 min read
  • Input & Output2 min read

This view

  • Original page
  • New address

GeezerVison is showing www.geeksforgeeks.org — Python Program to Generate Random binary string - GeeksforGeeks

geeksforgeeks
search icon
  • Courses
  • Tutorials
  • Interview Prep
  • Python Tutorial
  • Data Types
  • Interview Questions
  • Examples
  • Quizzes
  • DSA Python
  • Data Science
  • NumPy
  • Pandas
  • Practice
  • Django
  • Flask

Python Program to Generate Random binary string

Last Updated : 17 Mar, 2023

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.

Comment

Explore

    Python Fundamentals
    • Introduction1 min read
    • Input & Output2 min read
    • Variables4 min read
    • Operators4 min read
    • Keywords2 min read
    • Data Types4 min read
    • Conditional Statements3 min read
    • Loops3 min read
    • Functions4 min read
    Python Data Structures
    • String4 min read
    • List3 min read
    • Tuples3 min read
    • Dictionary3 min read
    • Set2 min read
    • Arrays5 min read
    Advanced Python
    • OOP Concepts3 min read
    • Exception Handling5 min read
    • File Handling4 min read
    • Python Database2 min read
    • MongoDB3 min read
    • MySQL7 min read
    • Packages4 min read
    • Modules3 min read
    • DSA Libraries5 min read
    • Python GUI2 min read
    Data Science with Python
    • Numpy3 min read
    • Pandas4 min read
    • Matplotlib3 min read
    • Seaborn3 min read
    • StatsModel2 min read
    • Model Building6 min read
    • TensorFlow2 min read
    • PyTorch5 min read
    Web Development with Python
    • Flask3 min read
    • Django5 min read
    • Django ORM4 min read
    • Jinja2 Templating5 min read
    • Django Templates5 min read
    • REST API3 min read
    • Build API with DRF4 min read
    Python Practice
    • Quiz1 min read
    • Practice Problems2 min read
    • Interview Q & A15+ min read
    Courses
    • Placement 360 Course2 min read
    • Data Science 360 Course2 min read
    • AI Engg Course2 min read
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.