Вы можете начать со списка начальных цифр:
seeds = [4,9,3,1,2,5,5,4,4,8,4,3] # This should be relatively large
Затем используйте счетчик, чтобы отслеживать, какая цифра использовалась в последний раз. Это будет общесистемное и не должно сбрасываться с системой:
def next_digit():
counter = 0
while True:
yield counter
counter += 1
pos_it = next_digit()
rand_it = next_digit()
Далее, используйте алгоритм, который использует модуль для определения «следующего числа»:
def random_digit():
position = pos_it.next() % len(seeds)
digit = seeds[position] * rand_it.next()
return digit % 10
Последнее, сгенерируйте 10000 из этих цифр.
output = ""
for i in range(10000):
output = "%s%s" % (output, random_digit())
Я считаю, что в идеальном ответе было бы больше простых чисел, но этого должно быть достаточно.