I numeri random in Python, cioè i numeri pseudocasuali si utilizzano importando innanzitutto il modulo random. Quindi inseriamo semplicemente nello script: import random.

Se provate anche a digitare in modalità interattiva help(‘random’), vedrete le specifiche di questo modulo, con le funzioni che potete utilizzare nei vostri script.

random

Dopo aver importato il modulo dunque possiamo usare tutti i metodi per generare i numeri random.


Numeri random in Python – random()

Il metodo random genera un numero casuale decimale tra 0 e 1.

random.random()

Si generano dunque dei numeri con la virgola compresi tra 0 e 1.


Importazione dei moduli per i numeri random in Python

In python è possibile richiamare solo alcuni elementi di un modulo, si evita così di richiamare un intero modulo.

Ad esempio possiamo importare solo le funzioni che ci servono utilizzando la parola chiave from seguita dal nome del modulo, da import e dal nome del metodo che si vuole importare.

Ecco un possibile esempio:

from random import random

print(random())

Come potete notare in questo modo non è più necessario indicare random.random(), come nell’esempio precedente ma basta solo random().

Inoltre è possibile importare tutti i metodi anche in questo modo:

from random import *

print(random())

print(randint(1,10))

Così è possibile utilizzare tutti i metodi senza ripetere ogni volta random. ma utilizzando solo il nome.


Numeri random in Python – randint()

Il metodo randint genera un numero casuale intero in un intervallo specificato tra parentesi.

random.randint(1, 10)

In questo esempio si generano i numeri casuali tra 1 e 10.


Numeri random in Python – randrange()

Il metodo randrange genera un numero casuale intero, in un intervallo di valori come randint, ma si può specificare lo step.

Ad esempio:

random.randrange(1, 10, 2)

In questo caso si possono generare solo i numeri dispari da 1 a 10, dunque: 1, 3, 5, 7, 9.

Lo step è comunque opzionale, nel senso che si può indicare anche solo:

random.randrange(1, 10)

Ed in questo caso si possono generare i numeri interi da 1 a 10.


seed()

Con questo metodo si può inizializzare il generatore di numeri casuali.

Facciamo dunque un esempio:

random.randint(1, 100)

Se eseguiamo questo script otterremo ogni volta un numero casuale diverso.

Se invece prima impostiamo il seed:

random.seed(10)

random.randint(1, 100)

Otterrete sempre lo stesso numero casuale, in questo caso 74. Provate adesso voi a cambiare il valore del seed.

Conclusioni

Questi sono solo alcuni dei metodi sui numeri random in Python, nella prossima lezione vi introdurrò qualche altro metodo.

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