A Python random modul használata
A Python random modul számos funkciót kínál véletlenszerű számok generálásához különböző formátumokban, az egész számoktól a lebegőpontos számokig, valamint a listákból való elemkiválasztásig.
Mi az a Python random modul, és mire használható?
A Python random random modul egy beépített könyvtár, amely lehetővé teszi véletlenszerű számok generálását és véletlenszerű alapú műveletek végrehajtását a programokban. Különböző funkciókat tartalmaz pszeudo-véletlenszerű számok generálására, amelyek számos alkalmazásban felhasználhatók, a szimulációtól a játékfejlesztésig és a kriptográfiai feladatokig.
A véletlenszerű modul fontos jellemzője, hogy reprodukálható eredményeket biztosít. A kezdőérték vagy mag meghatározásával a véletlenszerű generálás folyamata reprodukálhatóvá válik. Ez előnyös olyan tesztelések, kísérletek és szimulációk esetében, amelyek konzisztens véletlenszerű adatokat igényelnek.
Melyek a random modul funkciói?
A Python random modulja különböző módszereket tartalmaz véletlenszerű számok generálására és feldolgozására. Az alábbi táblázat áttekintést nyújt a függvényekről és azok tulajdonságairól:
| A funkció neve | Magyarázat |
|---|---|
seed(a=None, version=2)
|
Meghatározza a véletlenszám-generátor kezdeti értékét (seed) |
getstate()
|
Visszaadja a véletlenszám-generátor aktuális állapotát objektumként |
setstate(state)
|
Visszaállítja a véletlenszám-generátor állapotát egy állapotobjektum segítségével |
getrandbits(k)
|
K bitű egész számot ad vissza. |
randrange(start, stop, step)
|
Véletlenszerű egész számot hoz létre a megadott tartományból |
randint(a, b)
|
Visszaad egy véletlenszerű egész számot a megadott tartományból |
choice(seq)
|
Visszaad egy véletlenszerű elemet a megadott sorozatból |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Létrehoz egy listát, amely k véletlenszerűen kiválasztott elemet tartalmaz a populációból; opcionális a valószínűségek megadása. |
sample(k, population)
|
Létrehoz egy listát, amely k véletlenszerűen kiválasztott elemet tartalmaz a populációból, duplikátumok nélkül |
shuffle(x)
|
A lista elemeit véletlenszerű sorrendben keveri össze. |
random()
|
Visszaad egy véletlenszerű lebegőpontos számot 0 és 1 között. |
uniform(a, b)
|
Visszaad egy véletlenszerű lebegőpontos számot a megadott tartományban, beleértve a határértékeket is. |
triangular(low, high, mode)
|
Véletlenszerű lebegőpontos számot hoz létre a háromszög eloszlás tartományban. |
betavariate(alpha, beta)
|
Visszaad egy véletlenszerű lebegőpontos számot a béta eloszlásból. |
expovariate(lambd)
|
Visszaad egy véletlenszerű lebegőpontos számot az exponenciális eloszlásból. |
gammavariate(alpha, beta)
|
Véletlenszerű lebegőpontos számot hoz létre gamma-eloszlásból. |
gauss(mu, sigma)
|
Visszaad egy véletlenszerű lebegőpontos számot egy Gauss-eloszlásból. |
lognormvariate(mu, sigma)
|
Véletlenszerű lebegőpontos számot hoz létre logaritmikus normális eloszlásból. |
normalvariate(mu, sigma)
|
Visszaad egy véletlenszerű lebegőpontos számot egy normális eloszlásból. |
vonmisesvariate(mu, kappa)
|
Von Mises-eloszlás vagy kör alakú normális eloszlás alapján véletlenszerű lebegőpontos számot ad vissza. |
paretovariate(alpha)
|
Visszaad egy véletlenszerű lebegőpontos számot Pareto-eloszlásból. |
weibullvariate(alpha, beta)
|
Visszaad egy véletlenszerű lebegőpontos számot Weibull-eloszlással. |
Hogyan válasszunk elemek véletlenszerűen egy listából
Ha több véletlenszerű elemet szeretne kiválasztani egy listából, használhatja a Python random modul choices(seq, k=n) funkcióját, ahol n a kívánt véletlenszerű elemek száma.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Randomly selecting an element from the list
random_elements = random.choices(my_list, k=3)
print("Randomly selected elements:", random_elements)pythonEbben az esetben a choices() függvényt használjuk, hogy három véletlenszerű elemet válasszunk ki my_listból. Az eredmények három véletlenszerű elem listájaként kerülnek visszaadásra.
Hogyan keverjük össze a listát?
A shuffle() függvény véletlenszerű sorrendbe rendezi a Python lista elemeit.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Shuffle the elements in the list
random.shuffle(my_list)
print("Shuffled list:", my_list) # Example Output: Shuffled list: ['Strawberry', 'Banana', 'Apple', 'Cherry', 'Orange']pythonNe feledje, hogy shuffle() a listát magát módosítja, és nem ad vissza egy újat. shuffle() használata után az eredeti lista véletlenszerű sorrendben lesz.
Hogyan állítsuk be a magértéket?
Ha a Python random modul random.seed() használja egy adott magérték beállításához, akkor a véletlenszám-generátor inicializálódik, és ezt a magértéket használva véletlenszámokat generál. Ezért, ha később újra ugyanazt a magértéket állítja be, akkor az alkalmazásában azonos véletlenszám-sorozat generálódik.
import random
# Setting the seed value to 42
random.seed(42)
# Generating random numbers
print(random.random()) # Example output: 0.6394267984578837
print(random.random()) # Example output: 0.025010755222666936
# Resetting the seed value to 42
random.seed(42)
# Generating random numbers again
print(random.random()) # Example output: 0.6394267984578837 (identical to the previous value)
print(random.random()) # Example output: 0.025010755222666936 (identical to the previous value)pythonA magérték beállítása után véletlenszerű számokat generál és ad ki. A magérték visszaállítása ugyanarra az értékre ugyanazon véletlenszerű számok sorozatának újbóli előállítását eredményezi. Ebben a példában a magérték 42. Amíg ez a magérték állandó marad, a véletlenszerű számok következetesen reprodukálhatók.