Python Random-modulet er et indbygget modul til at generere tilfældige heltal i Python. Disse tal forekommer tilfældigt og følger ingen regler eller instruktioner. Vi kan derfor bruge dette modul til at generere tilfældige tal, vise et tilfældigt element for en liste eller streng og så videre.
Funktionen random()
Funktionen random.random() giver et flydende tal, der går fra 0,0 til 1,0. Der kræves ingen parametre til denne funktion. Denne metode returnerer den anden tilfældige flydende decimalværdi inden for [0,0 og 1] returneres.
Kode
# Python program for generating random float number import random num=random.random() print(num)
Produktion:
0.3232640977876686
Randint()-funktionen
Funktionen random.randint() genererer et tilfældigt heltal fra rækken af tal, der leveres.
Kode
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Produktion:
215
Randrange()-funktionen
Funktionen random.randrange() vælger et element tilfældigt fra det givne område defineret af start-, stop- og stepparametrene. Som standard er starten sat til 0. Ligeledes er trinnet sat til 1 som standard.
Kode
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
Produktion:
4 9
Funktionen choice()
Funktionen random.choice() vælger et element fra en ikke-tom serie tilfældigt. I nedenstående program har vi defineret en streng, liste og et sæt. Og ved at bruge ovenstående choice() metode, vælges tilfældigt element.
Kode
# 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 )
Produktion:
M 765 54
Shuffle()-funktionen
Funktionen random.shuffle() blander den givne liste tilfældigt.
Kode
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
Produktion:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Rock-Paper-Scissor Program ved hjælp af Random Module
Kode
# 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()
Produktion:
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!
Forskellige funktioner i tilfældigt modul
Følgende er listen over tilgængelige funktioner i det tilfældige modul.
Fungere | Beskrivelse |
---|---|
frø(a=Ingen, version=2) | Denne funktion opretter et nyt tilfældigt tal. |
getstate() | Denne metode tilvejebringer et objekt, der afspejler generatorens nuværende tilstand. Angiv argumentet til setstate() for at genoprette tilstanden. |
sætstat (stat) | Forudsat at tilstandsobjektet nulstiller funktionens tilstand på det tidspunkt, hvor getstate() blev fremkaldt. |
getrandbits(k) | Denne funktion giver et Python-heltal med k tilfældige bits. Dette er vigtigt for tilfældige tal-produktionsalgoritmer som randrange(), som kan håndtere vilkårligt store områder. |
randrange(start, stop[, trin]) | Fra området producerer det et tilfældigt heltal. |
returnere (a, b) | Giver et heltal inden for a og b tilfældigt (begge inklusive). Hvis a > b, vises en ValueError. |
valg(seq) | Fremstil et ikke-tomt serieemne tilfældigt. |
blande (seq) | Skift rækkefølgen. |
stikprøve (population, k) | Vis en liste over unikke poster i k-størrelse fra populationsserien. |
tilfældig() | Denne funktion opretter et nyt tilfældigt tal. |
uniform (a, b) | Denne metode tilvejebringer et objekt, der afspejler generatorens nuværende tilstand. Angiv argumentet til setstate() for at genoprette tilstanden. |
trekantet (lav, høj, tilstand) | Forudsat at tilstandsobjektet nulstiller funktionens tilstand på det tidspunkt, hvor getstate() blev fremkaldt. |
guass (mu, sigma) | Med middelværdi og standardafvigelse genereres et flydende tal tilfældigt. | betavariat (alfa, beta) | Med alfa og beta genereres et flydende tal tilfældigt mellem området 0 og 1. - Betadistribution | expovariate (lambda) | Floattal genereres ved at bruge argumentet lambda. - Eksponentiel fordeling | normalvariat (mu, sigma) | Med middelværdi og standardafvigelse genereres et flydende tal tilfældigt. - Normal fordeling | gamavariat (alfa, beta) | Med alfa og beta genereres et flydende tal tilfældigt. - Gamma distribution |
Konklusion
Afslutningsvis lærte vi om forskellige metoder, som Pythons tilfældige modul giver os til at håndtere heltal, flydende kommatal og andre sekvenser som lister, tupler osv. Vi så også på, hvordan frøet påvirker pseudo-tilfældige talmønsteret.