logo

Numeri casuali in Python

Python definisce un insieme di funzioni utilizzate per generare o manipolare numeri casuali tramite il modulo casuale.

Funzioni nel modulo casuale fare affidamento su una funzione di generazione di numeri pseudo-casuali random(), che genera un numero float casuale compreso tra 0,0 e 1,0. Questo particolare tipo di funzioni viene utilizzato in molti giochi, lotterie o qualsiasi applicazione che richieda la generazione di numeri casuali.



Vediamo un esempio di generazione di un numero casuale in Python utilizzando il comando funzione casuale().

Python3








import> random> num>=> random.random()> print>(num)>

>

>

Produzione:

0.30078080420602904>

Diversi modi per generare un numero casuale in Python

Esistono diversi modi per generare numeri casuali in Python utilizzando le funzioni del modulo casuale Python. Vediamo alcuni modi diversi.

Generazione di un numero casuale usando la scelta()

Pitone scelta.casuale() è una funzione incorporata nel linguaggio di programmazione Python che restituisce un elemento casuale da un elenco, tupla o stringa .

Python3




# import random> import> random> # prints a random value from the list> list1>=> [>1>,>2>,>3>,>4>,>5>,>6>]> print>(random.choice(list1))> # prints a random item from the string> string>=> 'striver'> print>(random.choice(string))>

>

>

Produzione:

5 t>

Generazione di un numero casuale utilizzando randrange()

Il modulo random offre una funzione in grado di generare numeri casuali Python da un intervallo specificato e consente anche spazio per includere passaggi, chiamato randrange() .

Python3




# importing 'random' for random operations> import> random> # using choice() to generate a random number from a> # given list of numbers.> print>(>'A random number from list is : '>, end>=>'')> print>(random.choice([>1>,>4>,>8>,>10>,>3>]))> # using randrange() to generate in range from 20> # to 50. The last parameter 3 is step size to skip> # three numbers when selecting.> print>(>'A random number from range is : '>, end>=>'')> print>(random.randrange(>20>,>50>,>3>))>

>

>

Produzione:

A random number from list is : 4 A random number from range is : 41>

Generazione di un numero casuale utilizzando seed()

Pitone casuale.seme() La funzione viene utilizzata per salvare lo stato di una funzione casuale in modo che possa generare alcuni numeri casuali in Python su più esecuzioni del codice sulla stessa macchina o su macchine diverse (per un valore seed specifico). Il valore seed è il numero del valore precedente generato dal generatore. Per la prima volta quando non è presente alcun valore precedente, utilizza l'ora di sistema corrente.

Python3

casuale nessun generatore in Java




# importing 'random' for random operations> import> random> # using random() to generate a random number> # between 0 and 1> print>(>'A random number between 0 and 1 is : '>, end>=>'')> print>(random.random())> # using seed() to seed a random number> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed different random number> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 5 again> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 7 again> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())>

>

>

Produzione:

A random number between 0 and 1 is : 0.510721762520941 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237>

Generazione di un numero casuale utilizzando shuffle()

La funzione shuffle() viene utilizzata per mescolare una sequenza (elenco). Mescolare significa cambiare la posizione degli elementi della sequenza. Qui l'operazione di mescolamento è in atto.

Python3




# import the random module> import> random> # declare a list> sample_list>=> [>'A'>,>'B'>,>'C'>,>'D'>,>'E'>]> print>(>'Original list : '>)> print>(sample_list)> # first shuffle> random.shuffle(sample_list)> print>(>' After the first shuffle : '>)> print>(sample_list)> # second shuffle> random.shuffle(sample_list)> print>(>' After the second shuffle : '>)> print>(sample_list)>

>

>

Produzione:

Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'B', 'E', 'C', 'D'] After the second shuffle : ['C', 'E', 'B', 'D', 'A']>

Generazione di un numero casuale utilizzando uniform()

La funzione uniform() viene utilizzata per generare un numero casuale Python in virgola mobile tra i numeri menzionati nei suoi argomenti. Richiede due argomenti, limite inferiore (incluso nella generazione) e limite superiore (non incluso nella generazione).

Python3




# Python code to demonstrate the working of> # shuffle() and uniform()> # importing 'random' for random operations> import> random> # Initializing list> li>=> [>1>,>4>,>5>,>10>,>2>]> # Printing list before shuffling> print>(>'The list before shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>' '>)> # using shuffle() to shuffle the list> random.shuffle(li)> # Printing list after shuffling> print>(>'The list after shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>' '>)> # using uniform() to generate random floating number in range> # prints number between 5 and 10> print>(>'The random floating point number between 5 and 10 is : '>, end>=>'')> print>(random.uniform(>5>,>10>))>

>

>

Produzione:

The list before shuffling is : 1 4 5 10 2 The list after shuffling is : 2 1 4 5 10 The random floating point number between 5 and 10 is : 5.183697823553464>