Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa saya mendapat nombor rawak yang berbeza menggunakan benih yang sama?

Mengapa saya mendapat nombor rawak yang berbeza menggunakan benih yang sama?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2024-02-22 12:49:11783semak imbas

Mengapa saya mendapat nombor rawak yang berbeza menggunakan benih yang sama?

Kandungan soalan

Saya menggunakan penjana nombor rawak numpy dengan mwe berikut:

import numpy as np
np.random.seed(40)
print(np.random.randint(-3, 4))
rng = np.random.default_rng(seed=40)
print(rng.integers(-3, 4))

Keluaran:

3
0

Mengapa output berbeza?


Jawapan betul


numpy.random.randintnumpy.random.seed 使用旧的随机 API,其底层实现完全不同。 numpy.random.default_rng Buat objek Penjana, ini ialah API baharu.

Kedua-dua API ini sebenarnya adalah dua perpustakaan RNG bebas sepenuhnya yang kebetulan berada dalam ruang nama yang sama. Walaupun dengan benih yang sama, output tidak akan sepadan.

Atas ialah kandungan terperinci Mengapa saya mendapat nombor rawak yang berbeza menggunakan benih yang sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam