A Python Random modul egy beépített modul véletlenszerű egész számok létrehozására Pythonban. Ezek a számok véletlenszerűen fordulnak elő, és nem követnek semmilyen szabályt vagy utasítást. Ezért ezt a modult használhatjuk véletlen számok generálására, véletlenszerű elemek megjelenítésére egy listához vagy karakterlánchoz, és így tovább.
java hintával
A random() függvény
A random.random() függvény 0,0 és 1,0 közötti lebegőszámot ad. Ehhez a funkcióhoz nincs szükség paraméterekre. Ez a metódus a második véletlenszerű lebegőpontos értéket adja vissza [0,0-n belül, és 1].
Kód
# Python program for generating random float number import random num=random.random() print(num)
Kimenet:
0.3232640977876686
A randint() függvény
A random.randint() függvény egy véletlenszerű egész számot generál a megadott számtartományból.
Kód
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
Kimenet:
215
A randrange() függvény
A random.randrange() függvény véletlenszerűen választ ki egy elemet a start, a stop és a lépés paraméterei által meghatározott adott tartományból. Alapértelmezés szerint az indítás 0-ra van állítva. Hasonlóképpen, a lépés is alapértelmezés szerint 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 )
Kimenet:
4 9
A choice() függvény
A random.choice() függvény véletlenszerűen választ ki egy elemet egy nem üres sorozatból. Az alábbi programban definiáltunk egy karakterláncot, egy listát és egy halmazt. A fenti choice() metódus segítségével véletlenszerű elem kerül kiválasztásra.
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 )
Kimenet:
M 765 54
A shuffle() függvény
A random.shuffle() függvény véletlenszerűen megkeveri az adott listát.
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 )
Kimenet:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
Rock-Paper-Scissor Program Random Module segítségével
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()
Kimenet:
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!
A véletlenszerű modul különféle funkciói
Az alábbiakban a véletlenszerű modulban elérhető funkciók listája látható.
Funkció | Leírás |
---|---|
seed(a=nincs, verzió=2) | Ez a függvény egy új véletlenszámot hoz létre. |
getstate() | Ez a módszer a generátor jelenlegi állapotát tükröző objektumot biztosít. Adja meg a setstate() argumentumot az állapot helyreállításához. |
setstate (állapot) | Az állapotobjektum megadása visszaállítja a függvény állapotát a getstate() meghívásakor. |
kap randbit(k) | Ez a függvény k véletlenszerű bitből álló Python egész számot biztosít. Ez fontos a véletlenszám-előállító algoritmusoknál, mint például a randrange(), amelyek tetszőlegesen hatalmas tartományokat tudnak kezelni. |
randrange(kezdet, leállítás[, lépés]) | A tartományból véletlenszerű egész számot állít elő. |
vissza (a, b) | Egész számot ad meg a-n és b-n belül véletlenszerűen (mindkettőt beleértve). Ha a > b, akkor ValueError jelenik meg. |
választás (szekv.) | Véletlenszerűen állítson elő egy nem üres sorozatelemet. |
keverés (szekv.) | Módosítsa a sorrendet. |
minta (populáció, k) | Jelenítse meg a sokaságsorozat k-méretű egyedi bejegyzéseinek listáját. |
véletlen() | Ez a függvény egy új véletlenszámot hoz létre. |
egységes (a, b) | Ez a módszer a generátor jelenlegi állapotát tükröző objektumot biztosít. Adja meg a setstate() argumentumot az állapot helyreállításához. |
háromszög alakú (alacsony, magas, mód) | Az állapotobjektum megadása visszaállítja a függvény állapotát a getstate() meghívásakor. |
guass ( mu , szigma ) | Átlagos és szórással véletlenszerűen generálunk egy lebegőszámot. | bétavariát (alfa, béta) | Alfa és béta esetén a rendszer véletlenszerűen generál egy lebegő számot a 0 és 1 tartomány között. - Béta eloszlás | expovariátum (lambda) | A lebegőszámot a lambda argumentum segítségével állítjuk elő. - Exponenciális eloszlás | normálváltozó (mu, szigma) | Átlagos és szórással véletlenszerűen generálunk egy lebegőszámot. - Normális eloszlás | gamaváltozó (alfa, béta) | Alfa és béta esetén a rendszer véletlenszerűen generál egy lebegőszámot. - Gamma eloszlás |
Következtetés
Befejezésül, megismertük a Python véletlenszerű modulja által kínált különféle módszereket az egész számok, lebegőpontos számok és más sorozatok, például listák, sorok stb. kezelésére. Azt is megvizsgáltuk, hogy a mag hogyan befolyásolja a pszeudo-véletlenszám-mintát.