random — generiranje slučajnih brojeva¶
Ovaj modul implementira generator pseudoslučajnih brojeva (PRNG). PRNG je 32-bitni LCG u stilu Yasmarang; pri prvom uvozu izvlači jedno 32-bitno sjeme iz istog hardverskog izvora koji koristi os.urandom(), a svaki sljedeći broj deterministička je funkcija tog sjemena.
Upozorenje
Izlaz nije kriptografski siguran – algoritam je predvidljiv iz kratkog izlaznog niza, a početno sjeme nosi samo 32 bita entropije. Za materijal za ključeve, tokene sesija, soli lozinki ili bilo koju drugu sigurnosno osjetljivu upotrebu, umjesto toga pozovite os.urandom().
Napomena
Za intervale se koristi sljedeća notacija:
() su zagrade otvorenog intervala i ne uključuju svoje krajnje točke. Na primjer, (0, 1) znači veće od 0 i manje od 1. U skupovnoj notaciji: (0, 1) = {x | 0 < x < 1}.
[] su zagrade zatvorenog intervala koje uključuju sve svoje granične točke. Na primjer, [0, 1] znači veće ili jednako 0 i manje ili jednako 1. U skupovnoj notaciji: [0, 1] = {x | 0 <= x <= 1}.
Funkcije za cijele brojeve¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Prvi oblik vraća slučajni cijeli broj iz raspona [0, stop). Drugi oblik vraća slučajni cijeli broj iz raspona [start, stop). Treći oblik vraća slučajni cijeli broj iz raspona [start, stop) u koracima od step. Na primjer, pozivanje
randrange(1, 10, 2)vratit će neparne brojeve između 1 i 9 uključivo.
Funkcije za brojeve s pomičnim zarezom¶
Ostale funkcije¶
- random.seed(n: int | None = None, /) None¶
Inicijalizira modul generatora slučajnih brojeva sa sjemenom n, koje bi trebalo biti cijeli broj. Kada se ne proslijedi nijedan argument (ili
None), PRNG se ponovno sije iz istog izvora specifičnog za priključak koji koristios.urandom().
- random.choice(sequence: Any) Any¶
Bira i vraća jednu nasumičnu stavku iz sequence (n-torke, liste ili bilo kojeg objekta koji podržava operaciju indeksiranja).