Genera numeri interi casuali nell'intervallo in Python

Manav Narula 30 gennaio 2023
  1. Usa la funzione random.randint() per generare numeri interi casuali tra un intervallo specifico in Python
  2. Usa la funzione random.randrange() per generare numeri interi casuali tra un intervallo specifico in Python
  3. Usa la funzione random.sample() per generare numeri interi casuali tra un intervallo specifico in Python
  4. Usa il modulo NumPy per generare numeri interi casuali tra un intervallo specifico in Python
Genera numeri interi casuali nell'intervallo in Python

Python è uno strumento molto utile per l’analisi dei dati. Quando abbiamo a che fare con scenari del mondo reale, dobbiamo generare valori casuali per simulare situazioni e lavorarci sopra.

Python ha a disposizione i moduli random e NumPy, che dispongono di metodi efficienti per lavorare e generare numeri casuali con facilità.

In questo tutorial, genereremo alcuni numeri interi casuali tra un intervallo specifico in Python.

Usa la funzione random.randint() per generare numeri interi casuali tra un intervallo specifico in Python

La funzione randint() è usata per generare numeri interi casuali tra un intervallo specificato. Le posizioni iniziale e finale vengono passate alla funzione come parametri.

Per esempio,

import random

x = random.randint(0, 10)
print(x)

Produzione:

8

Per generare una lista di numeri casuali con questa funzione, possiamo usare il metodo di comprensione dell’lista con il cicli for come mostrato di seguito:

import random

x = [random.randint(0, 9) for p in range(0, 10)]
print(x)

Produzione:

[1, 6, 6, 5, 8, 8, 5, 5, 8, 4]

Nota che questo metodo accetta solo valori interi.

Usa la funzione random.randrange() per generare numeri interi casuali tra un intervallo specifico in Python

La funzione randrange() restituisce anche un numero casuale all’interno di un intervallo e accetta solo valori interi, ma qui abbiamo la possibilità di specificare un parametro molto utile chiamato step. Il parametro step ci permette di trovare un numero casuale che è divisibile per un numero specifico. Per impostazione predefinita, questo parametro è 1.

Per esempio,

import random

x = random.randrange(0, 10, 2)
print(x)

Produzione:

4

Nota che l’output è divisibile per 2. Utilizzando lo stesso metodo di comprensione della lista, possiamo generare una lista di numeri casuali con questa funzione, come mostrato di seguito.

import random

x = [random.randrange(0, 10, 2) for p in range(0, 10)]
print(x)

Produzione:

[8, 0, 6, 2, 0, 6, 8, 6, 0, 4]

Usa la funzione random.sample() per generare numeri interi casuali tra un intervallo specifico in Python

Con questa funzione, possiamo specificare l’intervallo e il numero totale di numeri casuali che vogliamo generare. Assicura inoltre che non siano presenti valori duplicati. L’esempio seguente mostra come utilizzare questa funzione.

import random

x = random.sample(range(10), 5)
print(x)

Produzione:

[7, 8, 5, 9, 6]

Usa il modulo NumPy per generare numeri interi casuali tra un intervallo specifico in Python

Il modulo NumPy ha anche tre funzioni disponibili per eseguire questo compito e generare il numero richiesto di numeri interi casuali e memorizzarli in un array numpy.

Queste funzioni sono numpy.random.randint(), numpy.random.choice() e numpy.random.uniform(). Il codice seguente mostra come utilizzare queste funzioni.

Per esempio,

import numpy as np

x1 = np.random.randint(low=0, high=10, size=(5,))
print(x1)

x2 = np.random.uniform(low=0, high=10, size=(5,)).astype(int)
print(x2)

x3 = np.random.choice(a=10, size=5)
print(x3)

Produzione:

[3 2 2 2 8]
[8 7 9 2 9]
[0 7 4 1 4]
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python Random