Véletlen#
Bevezetés#
A Random metódus hozzáférést biztosít a Python urandom moduljához, amely alapértelmezés szerint elérhető a VEXcode EXP-ben. Ezek a metódusok lehetővé teszik véletlenszerű számok, lebegőpontos számok és értékek generálását listákból vagy tartományokból – ez hasznos a játékok, a viselkedések és az autonóm döntéshozatal kiszámíthatatlanságának növelésére.
Az alábbiakban felsoroljuk az elérhető módszereket:
randint– Két érték (a két értéket is beleértve) közötti véletlenszerű egész számot ad vissza.uniform– Két érték közötti véletlenszerű lebegőpontos számot ad vissza.randrange– Egy tartományból véletlenszerűen kiválasztott egész számot ad vissza, opcionális lépésközzel.seed– beállítja aurandompszeudovéletlenszám-generátorának kezdőértékét.
randint#
A randint függvény egy véletlenszerűen generált egész számot ad vissza két érték között (a két értéket is beleértve), ahol mindkét érték egész szám.
Usage:
urandom.randint(a, b)
Paraméter |
Leírás |
|---|---|
|
Egy egész szám, amely a tartomány alsó korlátját jelöli. |
|
Egy egész szám, amely a tartomány felső határát jelöli. |
# Generate a random integer between
# 1 and 10 (inclusive)
urandom_int = urandom.randint(1, 10)
brain.screen.print(urandom_int)
# urandom_int = (random integer between 1 and 10)
egyenruha#
uniform Két érték között véletlenszerűen elhelyezkedő lebegőpontos számot ad vissza, ahol mindkét érték lebegőpontos vagy egész szám.
Usage:
urandom.uniform(start, end)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám, amely a tartomány alsó határát jelöli. |
|
Egy lebegőpontos szám vagy egész szám, amely a tartomány felső határát jelöli. |
# Generate a random float
# between 5.0 and 10.0
urandom_uniform = urandom.uniform(5.0, 10.0)
brain.screen.print(urandom_uniform)
# urandom_uniform = (random float
# between 5.0 and 10.0)
randrange#
randrange Az randrange 1 egy véletlenszerű egész számot ad vissza egy tartományból, opcionális lépésközzel, ahol mind a kezdő, mind a végérték egész szám.
Usage:
urandom.randrange(start, stop, step)
Paraméter |
Leírás |
|---|---|
|
Opcionális. Egy egész szám, amely a tartomány kezdőértékét jelöli. Az alapértelmezett érték 0. |
|
Egy egész szám, amely a tartomány kizárólagos végértékét jelöli. |
|
Opcionális. Egy egész szám, amely a tartományban lévő egyes számok közötti különbséget jelöli. Az alapértelmezett érték 1. |
# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.screen.print(urandom_range)
# urandom_range = (random integer from 0 to 9)
# Generate a random integer from
# 5 to 15 (exclusive of 15)
urandom_range = urandom.randrange(5, 15)
brain.screen.print(urandom_range)
# urandom_range = (random integer from 5 to 14)
# Generate a random integer from
# 10 to 50, stepping by 5
urandom_range = urandom.randrange(10, 50, 5)
brain.screen.print(urandom_range)
# urandom_range = (random multiple of 5 between 10 and 45)
mag#
A seed beállítja a urandompszeudo-véletlenszám-generátorának kezdőértékét.
Ha nem állítasz be kezdőértéket (seed), a projekted minden indításkor ugyanazt a véletlenszerű sorozatot hozhatja létre.
Ha minden futtatáskor eltérő eredményeket szeretne kapni, akkor a projekt elején egyszer állítsa be a kezdőértéket egy olyan értékkel, amely a futtatások között változik – például akkumulátor-értékkel, időzítőértékkel vagy a kettő kombinációjával.
Usage:
urandom.seed(seed)
Paraméter |
Leírás |
|---|---|
|
Egy egész szám, amely a pszeudo-véletlenszerű sorozat indításához használható. |
# Set a different seed each time the project starts
urandom.seed(int(brain.battery.current()))