Для чего нужен random.seed(x) python?
Все дело в том, что в Питоне, как и в любом другом языке, используется т.н. генератор псевдо случайных чисел. Т.е. random выдает не случайное число, а число которое вычисляется алгоритмом на осное другого числа, по умолчанию это текущее время. random.seed позволяет изменить число, которое передается в random для генерации случайного числа, а т.к. "случайные" числа выдаются одним и тем же алгоритмом, то при одинаковом параметре в random.seed будут и одинаковые "случайные" числа.>>> import random
>>> ['%.2f' % random.random() for i in range(10)]
['0.21', '0.66', '0.18', '0.48', '0.86', '0.46', '0.48', '0.04', '0.67', '0.37']
>>> 
>>> ['%.2f' % random.random() for i in range(10)]
['0.90', '0.68', '0.02', '0.90', '0.63', '0.06', '0.22', '0.14', '0.97', '0.68']
>>> 
>>> random.seed(5)
>>> ['%.2f' % random.random() for i in range(10)]
['0.62', '0.74', '0.80', '0.94', '0.74', '0.92', '0.03', '0.47', '0.94', '0.65']
>>> 
>>> random.seed(5)
>>> ['%.2f' % random.random() for i in range(10)]
['0.62', '0.74', '0.80', '0.94', '0.74', '0.92', '0.03', '0.47', '0.94', '0.65']
random - псевдослучайный генератор случайных чисел. при помощи некоего алгоритма, он выдает последовательность чисел. настоящей случайности нет, для генерации чисел нужно некоторое начальное состояние, seed, из которого будет генерироваться вся остальная последовательность. При одинаковых seed последовательность тоже будет одинаковая.
Но seed нужен для того, чтобы при каждом запуске алгоритм выдавал разные значения (для этого вы должны подавать каждый раз разный seed).