Modul Python Random je vestavěný modul pro generování náhodných celých čísel v Pythonu. Tato čísla se vyskytují náhodně a neřídí se žádnými pravidly ani pokyny. Můžeme tedy pomocí tohoto modulu generovat náhodná čísla, zobrazovat náhodnou položku pro seznam nebo řetězec a podobně.
Funkce random().
Funkce random.random() poskytuje plovoucí číslo v rozsahu od 0,0 do 1,0. Pro tuto funkci nejsou vyžadovány žádné parametry. Tato metoda vrátí druhou náhodnou hodnotu s plovoucí desetinnou čárkou v rámci [0,0 a 1].
konverze typu a casting v jazyce Java
Kód
# Python program for generating random float number import random num=random.random() print(num)
Výstup:
0.3232640977876686
Funkce randint().
Funkce random.randint() generuje náhodné celé číslo z rozsahu zadaných čísel.
Kód
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Výstup:
215
Funkce randrange().
Funkce random.randrange() náhodně vybere položku z daného rozsahu definovaného parametry začátek, konec a krok. Ve výchozím nastavení je začátek nastaven na 0. Stejně tak je ve výchozím nastavení krok nastaven na 1.
Kód
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
Výstup:
4 9
Funkce choice().
Funkce random.choice() náhodně vybere položku z neprázdné série. V níže uvedeném programu jsme definovali řetězec, seznam a množinu. A pomocí výše uvedené metody choice() se vybere náhodný prvek.
Kód
# 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 )
Výstup:
M 765 54
Funkce shuffle().
Funkce random.shuffle() náhodně zamíchá daný seznam.
Kód
pouzdro na přepínač java
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
Výstup:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Program Rock-Paper-Scissor pomocí náhodného modulu
Kód
# 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()
Výstup:
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!
Různé funkce náhodného modulu
Následuje seznam funkcí dostupných v náhodném modulu.
Funkce | Popis |
---|---|
seed(a=žádné, verze=2) | Tato funkce vytvoří nové náhodné číslo. |
getstate() | Tato metoda poskytuje objekt odrážející současný stav generátoru. Zadejte argument pro setstate() pro obnovení stavu. |
setstate (stav) | Za předpokladu, že objekt state resetuje stav funkce v době, kdy byla vyvolána metoda getstate(). |
getrandbits(k) | Tato funkce poskytuje pythonské celé číslo s k náhodnými bity. To je důležité pro algoritmy produkce náhodných čísel, jako je randrange(), které mohou spravovat libovolně velké rozsahy. |
randrange(start, stop[, step]) | Z rozsahu vytvoří náhodné celé číslo. |
vrátit (a, b) | Poskytuje celé číslo v rámci aab náhodně (oba včetně). Pokud a > b, je vyvolána hodnota ValueError. |
volba (seq) | Náhodně vyrobte neprázdnou sériovou položku. |
zamíchat (seq) | Změňte pořadí. |
vzorek (populace, k) | Zobrazte seznam jedinečných položek velikosti k z řady populace. |
náhodný() | Tato funkce vytvoří nové náhodné číslo. |
uniforma (a, b) | Tato metoda poskytuje objekt odrážející současný stav generátoru. Zadejte argument pro setstate() pro obnovení stavu. |
trojúhelníkový (nízký, vysoký, režim) | Za předpokladu, že objekt state resetuje stav funkce v době, kdy byla vyvolána metoda getstate(). |
guass (mu, sigma) | Se střední a standardní odchylkou se náhodně generuje plovoucí číslo. | betavariát (alfa, beta) | U alfa a beta se náhodně generuje plovoucí číslo mezi rozsahem 0 a 1. - Beta Distribuce | expovariate (lambda) | Float number je generováno pomocí argumentu lambda. - Exponenciální distribuce | normální proměnná (mu, sigma) | Se střední a standardní odchylkou se náhodně generuje plovoucí číslo. - Normální distribuce | gamavariát (alfa, beta) | U alfa a beta se plovoucí číslo generuje náhodně. - Gamma distribuce |
Závěr
Na závěr jsme se dozvěděli o různých metodách, které nám Pythonův náhodný modul poskytuje pro práci s celými čísly, čísly s plovoucí desetinnou čárkou a dalšími posloupnostmi, jako jsou seznamy, n-tice atd. Také jsme se podívali na to, jak semeno ovlivňuje vzor pseudo náhodných čísel.