diff --git a/nbackseq b/nbackseq index af68645..8f5497a 100755 --- a/nbackseq +++ b/nbackseq @@ -1,10 +1,28 @@ #!/usr/bin/env python import sys +import random def nbackseq(n, length, words): - pass + sequence = [] + if length > n: + sequence.extend(random.sample(words, n)) + while len(sequence) < length: + word = random.sample(words, 1) + while word[0] not in sequence[-n:]: + sequence += word[0] + else: + sequence.extend(random.sample(words, length)) + return sequence 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 repeated') + if len(words) <= n: + raise ValueError('N-back is greater than the number of words') + sequence = nbackseq(n, length, words) + print(sequence)