random.randint() și random.randrange() în Python

Generează un număr întreg aleator dintr-un interval.

Sintaxă
random.randint(a, b)
random.randrange(start, stop=None, step=1)

Ce face random.randint() și random.randrange()

randint(a, b) returnează un întreg aleator între a și b, inclusiv ambele capete: randint(1, 6) simulează un zar. randrange() folosește regulile lui range(): capătul de sus nu este inclus și poți da un pas (de exemplu doar numere pare).

Modulul random este potrivit pentru jocuri, simulări și teste, dar nu pentru parole sau coduri de securitate; pentru acestea folosește modulul secrets. Cu random.seed() poți face rezultatele repetabile.

Parametri

Parametru Descriere
a, b Pentru randint: capetele intervalului, incluse.
start, stop, step Pentru randrange: ca la range().

Ce returnează

Un int.

Exemple

Exemplul 1: Zaruri (rezultat repetabil cu seed)

import random
random.seed(2026)
print([random.randint(1, 6) for _ in range(10)])
print(random.randrange(0, 100, 2), random.randrange(10))

Rezultat

[1, 3, 5, 5, 6, 1, 2, 5, 5, 5]
52 9

Exemplul 2: Fără seed, rezultat diferit la fiecare rulare

import random
print("Ai dat:", random.randint(1, 6), "și", random.randint(1, 6))

Rezultat posibil (diferă la fiecare rulare)

Ai dat: 4 și 1

Greșeli frecvente

  • Te aștepți ca randrange(1, 6) să poată da 6. Capătul de sus nu este inclus; folosește randint(1, 6).
  • Generezi coduri de resetare a parolei cu random. Valorile pot fi ghicite; folosește secrets.randbelow() sau secrets.token_urlsafe().

Comenzi înrudite