I numeri random in Python si utilizzano per tanti scopi. Facciamo degli esempi per capirne meglio il funzionamento.

Random Python – primo esempio

Scrivere un programma che generi n numeri casuali in un intervallo stabilito dall’utente e li visualizzi in output.

Quindi innanzitutto importiamo il modulo random.

#import random

Poi chiediamo di inserire in input i valori dell’intervallo che memorizziamo in due variabili ad esempio di nome x e y.

Chiediamo anche di inserire la quantità di numeri casuali da generare.


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

Adesso possiamo generare i numeri casuali con il ciclo for, utilizzando randint nell’intervallo (x,y).

Banner Pubblicitario

Ecco dunque il programma completo sui numeri random in Python in un intervallo stabilito dall’utente.


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Attenzione però se l’utente inserisce il valore di y più piccolo di x?

Il programma restituisce un errore nel punto randint(x,y) in quanto il valore di x deve essere inferiore al valore di y.

Dunque possiamo fare un controllo sui dati inseriti richiedendo all’utente di inserire nuovamente i dati. Oppure si possono scambiare anche le due variabili.

Scambiando le variabili si ha dunque:


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

if x > y:
    x,y = y,x
    
for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Con un controllo dell’input potremmo invece scrivere in questo modo:


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

while x > y:
    print('Il primo estremo deve essere inferiore al secondo!')
    x = int(input('Inserisci il primo estremo: '))
    y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))
    
for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Random Python – secondo esempio

Generare 100 numeri casuali da 1 a 200 a step di 2, sommarli e fare la media.

Banner pubblicitario

A step di 2 da 1 a 200-1, vuol dire che si generano solo numeri dispari da 1 a 199.

Quindi utilizziamo a tale scopo la funzione randrange che a differenza di randint permette di indicare anche lo step.

Ecco dunque il codice completo dell’algoritmo sui numeri random in Python:


import random

n = 100
somma = 0

for i in range(n):
  casuale = random.randrange(1,200,2)
  print(casuale,end=' ')
  somma += casuale

media = somma/n

print('La media è: ', media)

Chiaramente il calcolo della media si effettua come abbiamo fatto tante volte con i numeri non casuali.

In questa lezione abbiamo sviluppato alcuni semplici esercizi sui numeri random in Python, nelle prossime lezioni continueremo ancora ad esercitarci.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili