Я хотел бы знать разницу между выполнением np.random.seed()
внутри функции и вне ее. (то же семя) Например ...
np.random.seed(1)
def coin_toss():
if np.random.randint(0,2) == 1:
return 'HEAD'
else:
return 'TAIL'
for value in range (10):
print(coin_toss())
Результатом этого будет
HEAD
HEAD
TAIL
TAIL
HEAD
HEAD
HEAD
HEAD
HEAD
TAIL
С другой стороны, когда я помещаю np.random.seed (1) внутрь функция, я получил другой результат.
def coin_toss2():
np.random.seed(1)
if np.random.randint(0,2) == 1:
return 'HEAD'
else:
return 'TAIL'
for value in range(10):
print(coin_toss2())
результат будет
HEAD
HEAD
HEAD
HEAD
HEAD
HEAD
HEAD
HEAD
HEAD
HEAD
Поскольку начальное число, 1, одинаково в обоих примерах, я ожидал, что я получил такие же результаты. Какие различия вызывают разницу в выходных сигналах? Может кто-нибудь объяснить это? Я только что понял, что есть еще понятие глобального и локального в случайном состоянии. Однако я до сих пор не понимаю, почему произошла эта разница.