Modul Python Random je vstavaný modul na generovanie náhodných celých čísel v Pythone. Tieto čísla sa vyskytujú náhodne a neriadia sa žiadnymi pravidlami ani pokynmi. Tento modul teda môžeme použiť na generovanie náhodných čísel, zobrazenie náhodnej položky pre zoznam alebo reťazec a pod.
Funkcia random().
Funkcia random.random() poskytuje pohyblivé číslo v rozsahu od 0,0 do 1,0. Pre túto funkciu nie sú potrebné žiadne parametre. Táto metóda vráti druhú náhodnú hodnotu s pohyblivou rádovou čiarkou v rámci [0,0 a 1].
kód
# Python program for generating random float number import random num=random.random() print(num)
Výkon:
panel nástrojov rýchleho prístupu word
0.3232640977876686
Funkcia randint().
Funkcia random.randint() generuje náhodné celé číslo z rozsahu dodaných čísel.
kód
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Výkon:
215
Funkcia randrange().
Funkcia random.randrange() náhodne vyberie položku z daného rozsahu definovaného parametrami začiatok, koniec a krok. Štandardne je začiatok nastavený na 0. Podobne aj krok je štandardne 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ýkon:
Prepojený zoznam java
4 9
Funkcia choice().
Funkcia random.choice() náhodne vyberie položku z neprázdnej série. V nižšie uvedenom programe sme definovali reťazec, zoznam a množinu. A pomocou vyššie uvedenej metódy choice() sa vyberie náhodný prvok.
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ýkon:
M 765 54
Funkcia shuffle().
Funkcia random.shuffle() náhodne zamieša daný zoznam.
príklady dfa
kód
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
Výkon:
azúrové predplatné
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Program Rock-Paper-Scissor pomocou 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ýkon:
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ôzne funkcie náhodného modulu
Nasleduje zoznam funkcií dostupných v náhodnom module.
Funkcia | Popis |
---|---|
seed(a=žiadne, verzia=2) | Táto funkcia vytvorí nové náhodné číslo. |
getstate() | Táto metóda poskytuje objekt odrážajúci súčasný stav generátora. Zadajte argument pre setstate() na obnovenie stavu. |
setstate (stav) | Za predpokladu, že objekt state resetuje stav funkcie v čase vyvolania funkcie getstate(). |
getrandbits(k) | Táto funkcia poskytuje Pythonské celé číslo s k náhodnými bitmi. To je dôležité pre algoritmy na výrobu náhodných čísel, ako je randrange(), ktoré dokážu spravovať ľubovoľne veľké rozsahy. |
randrange(start, stop[, step]) | Z rozsahu vytvorí náhodné celé číslo. |
vrátiť (a, b) | Poskytuje celé číslo v rámci a a b náhodne (obe vrátane). Ak a > b, vyvolá sa hodnota ValueError. |
výber (nasledujúci) | Náhodne vytvorte neprázdnu sériovú položku. |
zamiešať (sekv.) | Zmeňte poradie. |
vzorka (populácia, k) | Zobrazte zoznam jedinečných položiek veľkosti k zo série populácie. |
náhodný() | Táto funkcia vytvorí nové náhodné číslo. |
uniforma (a, b) | Táto metóda poskytuje objekt odrážajúci súčasný stav generátora. Zadajte argument pre setstate() na obnovenie stavu. |
trojuholníkový (nízky, vysoký, režim) | Za predpokladu, že objekt state resetuje stav funkcie v čase vyvolania funkcie getstate(). |
guass (mu, sigma) | S priemernou a štandardnou odchýlkou sa plávajúce číslo generuje náhodne. | betavariát (alfa, beta) | Pri verziách alfa a beta sa náhodne generuje pohyblivé číslo medzi rozsahom 0 a 1. - Distribúcia beta | expovariate (lambda) | Pohyblivé číslo sa generuje pomocou argumentu lambda. - Exponenciálne rozdelenie | normálna premenná (mu, sigma) | S priemernou a štandardnou odchýlkou sa plávajúce číslo generuje náhodne. - Normálna distribúcia | gamavariát (alfa, beta) | Pri verziách alfa a beta sa plávajúce číslo generuje náhodne. - Distribúcia gama |
Záver
Na záver sme sa dozvedeli o rôznych metódach, ktoré nám poskytuje náhodný modul Pythonu na prácu s celými číslami, číslami s pohyblivou rádovou čiarkou a inými postupnosťami, ako sú zoznamy, n-tice atď. Tiež sme sa pozreli na to, ako seed ovplyvňuje vzor pseudo náhodných čísel.