Numeri random in Python

Per estrarre dei numeri random nel linguaggio Python utilizzo il modulo random. La libreria contiene diversi generatori di numeri casuali.

import random

Come generare un numero casuale

Questa funzione è un generatore random che estrae un numero intero compreso tra i valori inizio e fine inclusi.

random.randint(inizio, fine)

Esempio

Questo script estrae un numero random da 0 a 10.

>>> random.randint(0,10)

Uno dei possibili risultati è il seguente:

>>> 2

I metodi del modulo random

Il modulo random ha molte altre funzioni utili.

  • betavariate(alfa,beta)
    Genera un numero casuale nella distribuzione beta.
  • choice(seq)
    Seleziona un elemento casuale in una sequenza.

    >>> seq=[1,2,3,4,5]
    >>> random.choice(seq)
    2

  • choices(popolazione, weigth=none, *, cum_weigths=none, k=1)
    Seleziona k elementi da una popolazione con reinserimento.

    >>> seq=["a","b","c","d","e"]
    >>> random.choices(seq,k=3)
    ['a', 'c', 'e']

  • expovariate(lambd)
    Genera un numero casuale in una distribuzione esponenziale.
  • gammavariate(alfa, beta)
    Genera un numero casuale in una distribuzione gamma.
  • gauss(mu, sigma)
    Genera un numero casuale in una distribuzione gaussiana.
  • getrandbits(k)
    Genera un numero intero random con k bits.

    >>> random.getrandbits(3)
    4

  • getstate()
    Ritorna lo stato interno.
  • lognormvariate(mu, sigma)
    Genera un numero casuale in una distribuzione logaritmica normale.
  • normalvariate(mu, sigma)
    Genera un numero casuale in una distribuzione normale.
  • paretovariate(alpha)
    Genera un numero casuale in una distribuzione di Pareto.
  • randint()
    Genera un numero intero casuale da x a y ( inclusi ).

    >>> random.randint(0,10)
    2

  • random()
    Genera un numero casuale da 0 a 1.

    >>> random.random()
    0.5357514603916116

  • randrange( x, y [,step] )
    Genera un numero casuale da x a y (escluso) con passo step pari a uno di default.

    >>> random.randrange(0,10)
    7

  • sample( popolazione, k )
    Seleziona k elementi di una popolazione senza ripetizioni.

    >>> random.sample(["a", "b", "c"], 2) ['c', 'a']

  • seed(a=None, version=2)
    Inizializza lo stato interno.
  • setstate(state)
    Ripristina lo stato interno di un oggetto.
  • shuffle( popolazione )
    Modifica l'ordine degli elementi in una popolazione.

    >>> x=[1,2,3,4,5,6,7,8,9,10]
    >>> random.shuffle(x)
    >>> x
    [8, 5, 6, 1, 3, 10, 7, 9, 4, 2]

  • triangular(low=0.0 , high=1.0, mode=None)
    Genera un numero casuale in una distribuzione triangolare.
  • uniform(x, y)
    Genera un numero reale random nel range (a,b).

    >>> random.uniform(0,4)
    1.940039451527575

  • vonmisesvariate(mu, kappa)
    Genera un numero casuale in una distribuzione di dati circolare.
  • weibullvariate(alpha, beta)
    Genera un numero casuale in una distribuzione Weibull.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base
  1. Il linguaggio Python
  2. Come installare Python sul PC
  3. Come scrivere un programma in Python
  4. Come usare Python in modalità interattiva
  5. Le variabili
  6. I numeri
  7. Gli operatori logici
  8. Le strutture iterative ( o cicli )
  9. Le strutture condizionali
  10. I file in python