Często chcemy dla potrzeb naszego programu wylosować liczbę pseudolosową – przykład jak to zrobić jest zamieszczony poniżej:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import random
r=random.random()
print(r)
r=random.randrange(0,11) #losowanie liczb całkowitych z zakresu [0,10]
print(r)
r=random.randint(10,100) #losowanie liczb z zakresu [10,100)
print(r)
r=random.randbytes(10) #generowanie losowego ciągu
print(r)
import random r=random.random() print(r) r=random.randrange(0,11) #losowanie liczb całkowitych z zakresu [0,10] print(r) r=random.randint(10,100) #losowanie liczb z zakresu [10,100) print(r) r=random.randbytes(10) #generowanie losowego ciągu print(r)
import random
r=random.random()
print(r)

r=random.randrange(0,11) #losowanie liczb całkowitych z zakresu [0,10]
print(r)

r=random.randint(10,100) #losowanie liczb z zakresu [10,100)
print(r)

r=random.randbytes(10) #generowanie losowego ciągu
print(r)

Pełna dokumentacja tej biblioteki jest tutaj. Należy jednak pamiętać, że w celach związanych z bezpieczeństwem powinniśmy rozważyć bardziej rozbudowaną bibliotekę secrets. Dla zwiększenia jednak bezpieczeństwa obiektów random możemy wykonać pewien zabieg – uruchomienia generatora z “losowym” punktem startu wynikającym np. z pobranej daty systemowej. Wystarczy dodać jedną linię programu do naszego kodu (wraz z niezbędnym importem).

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import random
import time
random.seed(time.time_ns())
r=random.random()
print(r)
r=random.randrange(1,11)
print(r)
r=random.randint(10,100)
print(r)
r=random.randbytes(10)
print(r)
import random import time random.seed(time.time_ns()) r=random.random() print(r) r=random.randrange(1,11) print(r) r=random.randint(10,100) print(r) r=random.randbytes(10) print(r)
import random
import time

random.seed(time.time_ns())
r=random.random()
print(r)

r=random.randrange(1,11)
print(r)

r=random.randint(10,100)
print(r)

r=random.randbytes(10)
print(r)