Skip to content

Instantly share code, notes, and snippets.

@robballou
Created November 9, 2016 16:10
Show Gist options
  • Save robballou/ace954cff7fd8febcf12660288ba0b03 to your computer and use it in GitHub Desktop.
Save robballou/ace954cff7fd8febcf12660288ba0b03 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import itertools
import argparse
import sys
import time
def get_permutations(number, delimiter=''):
for seq in itertools.product((0,1), repeat=number):
yield delimiter.join(map(str, seq))
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Build permutations of binary sequences')
parser.add_argument('number', type=int, help='Length of sequence to generate')
parser.add_argument('--tab-delimited', dest='tabbed', default=False, action='store_true')
parser.add_argument('--output', dest='file')
args = parser.parse_args()
delimiter = ''
if args.tabbed:
delimiter = "\t"
output_file = sys.stdout
if args.file:
output_file = open(args.file, 'w')
for permutation in get_permutations(args.number, delimiter=delimiter):
output_file.write("%s\n" % permutation)
time.sleep(0.001)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment