Modulul random
Modulul random gestionează generarea numerelor aleatorii. Funcțiile sale principale sunt:
- random(): generează un număr aleatoriu de la 0.0 la 1.0
- randint(): returnează un număr aleatoriu dintr-un anumit interval
- randrange(): returnează un număr aleatoriu dintr-un set de numere specifica
- shuffle(): amestecă o listă
- choice(): returnează un element aleatoriu dintr-o listă
Funcția random() returnează un număr aleatoriu cu virgulă mobilă în intervalul de la 0.0 la 1.0. Dacă avem nevoie de un număr dintr-un interval mai mare, de exemplu de la 0 la 100, putem multiplica rezultatul funcției random cu 100.
import random
number = random.random() # valoare de la 0.0 la 1.0
print(number)
number = random.random() * 100 # valoare de la 0.0 la 100.0
print(number)
Funcția randint(min, max) returnează un număr întreg aleatoriu în intervalul dintre două valori, min și max.
import random
number = random.randint(20, 35) # valoare de la 20 la 35
print(number)
Funcția randrange() returnează un număr întreg aleatoriu dintr-un set specificat de numere. Aceasta are trei forme:
- randrange(stop): setul de numere din care se extrage valoarea aleatorie va fi intervalul de la 0 la valoarea stop
- randrange(start, stop): setul de numere reprezintă intervalul de la valoarea start la valoarea stop
- randrange(start, stop, step): setul de numere reprezintă intervalul de la valoarea start la valoarea stop, fiecare număr din interval fiind diferit de precedentul cu un pas step
import random
number = random.randrange(10) # valoare de la 0 la 10, exclusiv
print(number)
number = random.randrange(2, 10) # valoare în intervalul 2, 3, 4, 5, 6, 7, 8, 9
print(number)
number = random.randrange(2, 10, 2) # valoare în intervalul 2, 4, 6, 8
print(number)
Lucrul cu lista
Pentru a lucra cu liste, în modulul random sunt definite două funcții: funcția shuffle() amestecă lista într-un mod aleatoriu, iar funcția choice() returnează un element aleatoriu dintr-o listă:
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
random.shuffle(numbers)
print(numbers)
random_number = random.choice(numbers)
print(random_number)