Python: la funzione randint()

La funzione randint() offre una soluzione semplice e rapida per generare numeri interi casuali in un dato intervallo. Pertanto, è un ottimo strumento per una gran varietà di applicazioni.

A cosa serve randint()?

La funzione randint() di Python fa parte del modulo random. Il suo scopo è generare un numero intero casuale all’interno di un dato intervallo. Al contrario di alcune funzioni in altri linguaggi di programmazione, randint() comprende anche il punto finale indicato dell’intervallo. In pratica, sia il valore iniziale sia il valore finale possono essere inclusi nell’intervallo dei risultati possibili. La funzione randint() è utile soprattutto in quelle applicazioni che si basano su valori casuali.

In alternativa a randint(), il modulo random offre ulteriori funzioni per generare numeri casuali in diversi modi. Ad esempio, random.randrange(start, stop[, step]) offre una funzionalità simile a randint(), ma consente di specificare anche un incremento (step) opzionale per la sequenza di numeri. Inoltre, random.randint() genera soltanto numeri interi, mentre random.uniform(a, b) restituisce un numero a virgola mobile casuale nell’intervallo indicato. Anche il pacchetto numpy contiene ulteriori potenti funzioni per la generazione di numeri casuali, in particolare per gli array e per le operazioni matematiche complesse.

La struttura di randint()

La sintassi della funzione randint() del modulo random in Python è relativamente semplice e richiede due parametri: il valore iniziale e il valore finale dell’intervallo desiderato per il numero intero casuale.

import random
random_number = random.randint(start, end)
python
  • import random: importa il modulo random, che contiene la funzione randint(). Questo passaggio è necessario per poter utilizzare randint().

  • random_number: questa è la variabile in cui viene memorizzato il risultato della funzione randint(). Questa variabile contiene il numero intero casuale generato.

  • start: il valore iniziale dell’intervallo dal quale deve essere generato il numero intero casuale. Questo numero è compreso fra i risultati possibili.

  • end: il valore finale dell’intervallo. Anche questo numero è compreso fra i risultati possibili.

Un esempio pratico:

import random
random_number = random.randint(1, 100)
print(random_number)
python

Questo codice genera un numero intero casuale fra 1 e 100 e lo emette sulla console. I parametri start ed end comprendono i valori limite indicati; pertanto, il numero generato può essere nell’intervallo tra 1 e 100 inclusi.

Applicazione e utilizzo della funzione randint()

La generazione casuale della funzione randint() è utilizzabile in modo flessibile nel tuo programma. Tuttavia, ti consigliamo di assicurarti che il tuo codice sia pulito e corretto per evitare certi messaggi di errore.

Richiamo multiplo di randint()

Richiamando più volte la funzione randint() puoi generare più numeri interi casuali in diverse parti del codice. Ogni chiamata di randint() genera un nuovo numero intero casuale sulla base dei parametri indicati.

import random
random_number1 = random.randint(1, 10)
random_number2 = random.randint(1, 10)
random_number3 = random.randint(1, 10)
# Print the generated random integers
print("Random integer 1:", random_number1)
print("Random integer 2:", random_number2)
print("Random integer 3:", random_number3)
python

Nel codice precedente utilizziamo tre chiamate separate di randint() per generare tre diversi numeri interi casuali fra 1 e 10. Ogni variabile random_numberX memorizza il risultato di una propria chiamata randint(). Questi valori possono essere riutilizzati oppure emessi, a seconda delle esigenze dell’applicazione.

ValueError con randint()

Un ValueError si presenta in caso di utilizzo di randint() se gli argomenti non corrispondono a quanto previsto, ad esempio se il valore iniziale è maggiore del valore finale oppure se vengono assegnati argomenti non costituiti da numeri interi. Pertanto, è consigliabile assicurarsi che i parametri siano corretti per evitare eccezioni ValueError ed eseguire la funzione correttamente.

# Correct use of randint()
random_number = random.randint(1, 10)
print("Random integer between 1 and 10:", random_number)
# Potential ValueError if 'end' is less than 'start'
random_number_error = random.randint(10, 5)  # This will raise a ValueError
print("This won't be printed as an error occurs.")
python

Qui utilizziamo dapprima random.randint(1, 10) per generare un numero intero casuale fra 1 e 10. Quindi proviamo a richiamare random.randint(10, 5), causando un errore ValueError perché il valore iniziale è maggiore del valore finale.

TypeError con randint()

Un TypeError indica che si sta eseguendo un’operazione o una funzione su un tipo di dati non adatto. Nel contesto della funzione randint() del modulo random può presentarsi un errore TypeError se gli argomenti assegnati non hanno il tipo di dati previsto.

import random
random_number_error = random.randint("1", "10")
python

In questo esempio vogliamo richiamare randint() con stringhe in Python come argomenti. Le stringhe contengono "1" e "10" anziché numeri interi. Il risultato è un TypeError, poiché randint() si aspetta numeri interi come argomenti per definire l’intervallo di numeri casuali.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top