Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah `random.seed()` Memastikan Rawak Boleh Diramal dalam Python?
Memahami Peranan random.seed() dalam Python
Dalam Python, random.seed() memulakan keadaan dalaman pseudo -penjana nombor rawak (PRNG) yang digunakan oleh modul rawak. Ini penting untuk difahami jika anda ingin menggunakannya dengan berkesan dalam program Python anda.
Bagaimanakah random.seed() Berfungsi?
PRNG berfungsi dengan membina jujukan nombor berdasarkan nilai awal yang dikenali sebagai "benih." Setiap nombor berikutnya dikira menggunakan nombor sebelumnya dalam urutan. Apabila anda mula-mula menggunakan modul rawak, benih lalai dijana, tetapi anda boleh menggunakan random.seed() untuk menentukan nilai benih tertentu, membolehkan anda menghasilkan semula jujukan nombor rawak secara konsisten.
Contoh :
Coretan kod Python berikut menunjukkan cara pembenihan mempengaruhi jujukan nombor rawak yang dijana secara rawak.randint():
import random # Seed the random number generator with the value 9001 random.seed(9001) # Generate five random numbers between 1 and 10 print(random.randint(1, 10)) print(random.randint(1, 10)) print(random.randint(1, 10)) print(random.randint(1, 10)) print(random.randint(1, 10))
Output:
1 3 6 6 7
Dalam contoh ini, pembenihan PRNG dengan 9001 memastikan integer rawak seterusnya dijana secara konsisten sebagai [1, 3, 6, 6, 7]. Urutan khusus ini akan dihasilkan semula setiap kali kod dijalankan dengan nilai benih yang sama.
Mengapa Gunakan random.seed()?
Untuk urutan nombor rawak yang boleh diramal , seperti menjana set data ujian yang konsisten, random.seed() berguna. Selain itu, ia membolehkan anda menghasilkan semula hasil tertentu dalam berbilang program dijalankan untuk tujuan penyahpepijatan.
Secara umum, menetapkan nilai benih yang berubah dengan setiap pelaksanaan program, seperti masa semasa, disyorkan untuk menjana yang benar-benar rawak urutan. Ini memastikan PRNG dimulakan dengan benih unik setiap kali kod dijalankan.
Atas ialah kandungan terperinci Bagaimanakah `random.seed()` Memastikan Rawak Boleh Diramal dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!