Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions nbackseq
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
#!/usr/bin/env python

import random
import sys


def nbackseq(n, length, words):
pass
seq = []
if length > n:
# first make a list with length of n
seq.extend(random.sample(words, n))
# now add entries one by one
for i in range(n, length):
seq.extend(random.sample(words, 1))
# check if entry is not repeated in the previous n entries
while len(seq[-n:]) != len(set(seq[-n:])):
seq.pop()
seq.extend(random.sample(words, 1))
# pick length items
elif length <= n:
unique_words = random.sample(words, length)
seq.extend(unique_words)
return seq


if __name__ == '__main__':
print(sys.argv)
n = int(sys.argv[1])
length = int(sys.argv[2])
words = sys.argv[3:]
if len(words) != len(set(words)):
raise ValueError('Your input words are not unique!')
seq = nbackseq(n, length, words)
print(seq)