Il modulo Python Random è un modulo integrato per generare numeri interi casuali in Python. Questi numeri si verificano in modo casuale e non seguono alcuna regola o istruzione. Possiamo quindi utilizzare questo modulo per generare numeri casuali, visualizzare un elemento casuale per una lista o una stringa e così via.
La funzione random()
La funzione random.random() fornisce un numero float compreso tra 0,0 e 1,0. Non sono richiesti parametri per questa funzione. Questo metodo restituisce il secondo valore a virgola mobile casuale tra [0.0 e 1].
Codice
# Python program for generating random float number import random num=random.random() print(num)
Produzione:
0.3232640977876686
La funzione randint()
La funzione random.randint() genera un numero intero casuale dall'intervallo di numeri forniti.
Codice
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Produzione:
215
La funzione randrange()
La funzione random.randrange() seleziona un elemento in modo casuale dall'intervallo dato definito dai parametri start, stop e step. Per impostazione predefinita, l'inizio è impostato su 0. Allo stesso modo, il passo è impostato su 1 per impostazione predefinita.
Codice
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
Produzione:
4 9
La funzione choice()
La funzione random.choice() seleziona casualmente un elemento da una serie non vuota. Nel programma riportato di seguito, abbiamo definito una stringa, un elenco e un set. E utilizzando il metodo choice() sopra, viene selezionato un elemento casuale.
Codice
# To select a random element import random random_s = random.choice('Random Module') #a string print( random_s ) random_l = random.choice([23, 54, 765, 23, 45, 45]) #a list print( random_l ) random_s = random.choice((12, 64, 23, 54, 34)) #a set print( random_s )
Produzione:
M 765 54
La funzione shuffle()
La funzione random.shuffle() mescola casualmente l'elenco fornito.
Codice
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
Produzione:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Programma Sasso-Carta-Forbice che utilizza il modulo casuale
Codice
# import random module import random # Function to play game def start_game(): # Print games rules and instructions print(' This is Javatpoint's Rock-Paper-Scissors! ') print(' Please Enter your choice: ') print(' choice 1: Rock ') print(' choice 2: Paper ') print(' choice 3: Scissors ') #To take the user input choice_user = int(input(' Select any options from 1 - 3 : ')) # randint() Function which generates a random number by computer choice_machine = random.randint(1, 3) # display the machines choice print(' Option choosed by Machine is: ', end = ' ') if choice_machine == 1: print(' Rock ') elif choice_machine == 2: print('Paper') else: print('Scissors') # To declare who the winner is if choice_user == choice_machine: print(' Wow It's a tie! ') elif choice_user == 1 and choice_machine == 3: print(' Congratulations!! You won! ') elif choice_user == 2 and choice_machine == 1: print(' Congratulations!! You won! ') elif choice_user == 3 and choice_machine == 2: print(' Congratulations!! You won! ') else: print(' Sorry! The Machine Won the Game? ') # If user wants to play again play_again = input(' Want to Play again? ( yes / no ) ').lower() if play_again == ' yes ': start_game() else: print(' Thanks for playing Rock-Paper-Scissors! ') # Begin the game start_game()
Produzione:
This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 1 Option choosed by Machine is: Rock Wow It's a tie! Want to Play again? ( yes / no ) yes This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 2 Option choosed by Machine is: Scissors Congratulations!! You won! Want to Play again? ( yes / no ) no Thanks for playing Rock-Paper-Scissors!
Varie funzioni del modulo casuale
Di seguito è riportato l'elenco delle funzioni disponibili nel modulo random.
Funzione | Descrizione |
---|---|
seme(a=Nessuno, versione=2) | Questa funzione crea un nuovo numero casuale. |
getstate() | Questo metodo fornisce un oggetto che riflette lo stato attuale del generatore. Fornire l'argomento a setstate() per ripristinare lo stato. |
setstato(stato) | Fornendo l'oggetto stato si reimposta lo stato della funzione nel momento in cui è stato invocato getstate(). |
getrandbits(k) | Questa funzione fornisce un intero Python con k bit casuali. Questo è importante per gli algoritmi di produzione di numeri casuali come randrange(), che possono gestire intervalli arbitrariamente enormi. |
randrange(inizio, fine[, passo]) | Dall'intervallo, produce un numero intero casuale. |
ritorno(a, b) | Fornisce un numero intero all'interno di a e b in modo casuale (entrambi inclusi). Se a > b, viene generato un ValueError. |
scelta (segue) | Produci a caso un elemento della serie non vuoto. |
mescola (segue) | Cambia l'ordine. |
campione(popolazione, k) | Visualizza un elenco di voci univoche di dimensione k dalle serie di popolazioni. |
casuale() | Questa funzione crea un nuovo numero casuale. |
uniforme(a, b) | Questo metodo fornisce un oggetto che riflette lo stato attuale del generatore. Fornire l'argomento a setstate() per ripristinare lo stato. |
triangolare (basso, alto, modalità) | Fornendo l'oggetto stato si reimposta lo stato della funzione nel momento in cui è stato invocato getstate(). |
guass (mu, sigma) | Con la media e la deviazione standard, un numero float viene generato in modo casuale. | betavariata(alfa,beta) | Con alfa e beta, viene generato casualmente un numero float compreso tra 0 e 1. - Distribuzione Beta | espovariabile(lambda) | Il numero float viene generato utilizzando l'argomento lambda. - Distribuzione esponenziale | normalevariata(mu, sigma) | Con la media e la deviazione standard, un numero float viene generato in modo casuale. - Distribuzione normale | gamavariata(alfa, beta) | Con alfa e beta, un numero float viene generato casualmente. - Distribuzione gamma |
Conclusione
Per concludere, abbiamo appreso i vari metodi forniti dal modulo casuale di Python per gestire numeri interi, numeri in virgola mobile e altre sequenze come liste, tuple, ecc. Abbiamo anche osservato come il seme influenza il modello di numeri pseudo-casuali.