La funzione randint() offre una soluzione semplice e rapida per generare numeri interi casuali in un dato in­ter­val­lo. Pertanto, è un ottimo strumento per una gran varietà di ap­pli­ca­zio­ni.

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 in­ter­val­lo. Al contrario di alcune funzioni in altri linguaggi di pro­gram­ma­zio­ne, randint() comprende anche il punto finale indicato dell’in­ter­val­lo. In pratica, sia il valore iniziale sia il valore finale possono essere inclusi nell’in­ter­val­lo dei risultati possibili. La funzione randint() è utile so­prat­tut­to in quelle ap­pli­ca­zio­ni che si basano su valori casuali.

In al­ter­na­ti­va a randint(), il modulo random offre ulteriori funzioni per generare numeri casuali in diversi modi. Ad esempio, random.randrange(start, stop[, step]) offre una fun­zio­na­li­tà simile a randint(), ma consente di spe­ci­fi­ca­re anche un in­cre­men­to (step) opzionale per la sequenza di numeri. Inoltre, random.randint() genera soltanto numeri interi, mentre random.uniform(a, b) re­sti­tui­sce un numero a virgola mobile casuale nell’in­ter­val­lo indicato. Anche il pacchetto numpy contiene ulteriori potenti funzioni per la ge­ne­ra­zio­ne di numeri casuali, in par­ti­co­la­re per gli array e per le ope­ra­zio­ni ma­te­ma­ti­che complesse.

La struttura di randint()

La sintassi della funzione randint() del modulo random in Python è re­la­ti­va­men­te semplice e richiede due parametri: il valore iniziale e il valore finale dell’in­ter­val­lo de­si­de­ra­to 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 è ne­ces­sa­rio per poter uti­liz­za­re randint().

  • random_number: questa è la variabile in cui viene me­mo­riz­za­to il risultato della funzione randint(). Questa variabile contiene il numero intero casuale generato.

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

  • end: il valore finale dell’in­ter­val­lo. 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 com­pren­do­no i valori limite indicati; pertanto, il numero generato può essere nell’in­ter­val­lo tra 1 e 100 inclusi.

Ap­pli­ca­zio­ne e utilizzo della funzione randint()

La ge­ne­ra­zio­ne casuale della funzione randint() è uti­liz­za­bi­le in modo fles­si­bi­le nel tuo programma. Tuttavia, ti con­si­glia­mo di as­si­cu­rar­ti che il tuo codice sia pulito e corretto per evitare certi messaggi di errore.

Richiamo multiplo di randint()

Ri­chia­man­do 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
# Generate three different random integers between 1 and 10
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 pre­ce­den­te uti­liz­zia­mo 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 riu­ti­liz­za­ti oppure emessi, a seconda delle esigenze dell’ap­pli­ca­zio­ne.

Va­lueEr­ror con randint()

Un Va­lueEr­ror si presenta in caso di utilizzo di randint() se gli argomenti non cor­ri­spon­do­no a quanto previsto, ad esempio se il valore iniziale è maggiore del valore finale oppure se vengono assegnati argomenti non co­sti­tui­ti da numeri interi. Pertanto, è con­si­glia­bi­le as­si­cu­rar­si che i parametri siano corretti per evitare eccezioni Va­lueEr­ror ed eseguire la funzione cor­ret­ta­men­te.

# 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 uti­liz­zia­mo dapprima random.randint(1, 10) per generare un numero intero casuale fra 1 e 10. Quindi proviamo a ri­chia­ma­re random.randint(10, 5), causando un errore Va­lueEr­ror perché il valore iniziale è maggiore del valore finale.

TypeError con randint()

Un TypeError indica che si sta eseguendo un’ope­ra­zio­ne o una funzione su un tipo di dati non adatto. Nel contesto della funzione randint() del modulo random può pre­sen­tar­si 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 ri­chia­ma­re randint() con stringhe in Python come argomenti. Le stringhe con­ten­go­no "1" e "10" anziché numeri interi. Il risultato è un TypeError, poiché randint() si aspetta numeri interi come argomenti per definire l’in­ter­val­lo di numeri casuali.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana
Vai al menu prin­ci­pa­le