Náhodný#
Zavedení#
Funkce Random poskytuje přístup k modulu Pythonu random , který je ve VEXcode AIR standardně k dispozici. Tyto metody umožňují generovat náhodná čísla, čísla s plovoucí čárkou a hodnoty ze seznamů nebo rozsahů – což je užitečné pro přidání nepředvídatelnosti do her, chování a autonomního rozhodování. Chcete-li tyto funkce začít používat, přidejte import random na začátek projektu.
Níže je uveden seznam dostupných metod:
Generátory čísel – Přímo generují náhodná čísla nebo bity.
randint– Vrátí náhodné celé číslo mezi dvěma hodnotami (včetně).uniform– Vrací náhodné číslo s plovoucí desetinnou čárkou mezi dvěma hodnotami.randrange– Vrátí náhodné celé číslo z rozsahu s volitelným krokem.random– Vrací náhodné číslo s plovoucí desetinnou čárkou mezi 0,0 (včetně) a 1,0 (bez ní).getrandbits– Vrátí celé číslo se zadaným počtem náhodných bitů.
Výběr – Náhodný výběr prvků ze sekvencí.
choice– Vrátí náhodný prvek z neprázdného seznamu nebo posloupnosti.
Řízení stavu – Správa nebo inicializace stavu generátoru náhodných čísel.
seed– Nastaví seed pro generátor náhodných čísel, aby produkoval deterministické výsledky.
Generátory čísel#
randint#
randint vrací náhodné celé číslo v rozsahu b (včetně) do a (včetně).
Usage:
random.randint(a, b)
Parametr |
Popis |
|---|---|
|
Celé číslo představující dolní hranici rozsahu (včetně inkluzivní). |
|
Celé číslo představující horní hranici rozsahu (včetně inkluzivní). |
# Pick a number from 0 to 100
random_int = random.randint(0, 100)
controller.screen.print(random_int)
#random_int = (random integer between 0-100)
uniform#
uniform vrací náhodné číslo s plovoucí čárkou mezi start a end.
Usage:
random.uniform(start, end)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující dolní hranici rozsahu. |
|
Číslo s desetinnou čárkou nebo celé číslo představující horní hranici rozsahu. |
# # Generate a random float between 5.0 and 10.0
random_uniform = random.uniform(5.0, 10.0)
controller.screen.print(random_uniform)
# random_uniform = (random float between 5.0 and 10.0)
randrange#
randrange vrací náhodné celé číslo ze zadaného rozsahu.
Usage:
random.randrange(start, stop, step)
Parametr |
Popis |
|---|---|
|
Volitelné. Celé číslo představující počáteční hodnotu rozsahu. Výchozí hodnota je 0. |
|
Celé číslo představující exkluzivní koncovou hodnotu rozsahu. |
|
Volitelné. Celé číslo představující rozdíl mezi jednotlivými čísly v rozsahu. Výchozí hodnota je 1. |
# Generate a random integer from
# 0 to 9 (exclusive of 10)
random_range = random.randrange(10)
controller.screen.print(random_range)
# random_range = (random integer from 0 to 9)
# Generate a random integer from
# 5 to 15 (exclusive of 15)
random_range = random.randrange(5, 15)
controller.screen.print(random_range)
# random_range = (random integer from 5 to 14)
random#
random vrací náhodné číslo s plovoucí desetinnou čárkou v rozsahu od 0,0 (včetně) do 1.0 (bez ní).
Usage:
random.random()
Parametr |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Generate a random float between 0.0 and 1.0
random_float = random.random()
controller.screen.print(random_float)
# random_float = (random float between 0.0 and 1.0)
getrandbits#
getrandbits vrací celé číslo se zadaným počtem náhodných bitů.
Usage:
random.getrandbits(n)
Parametr |
Popis |
|---|---|
|
Celé číslo představující počet náhodných bitů |
# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
controller.screen.print(random_bits)
# random_bits = (random integer between 0 and 255)
Výběr#
choice#
choice vybere a vrátí jednu položku náhodně z dané sekvence.
Usage:
random.choice(sequence)
Parametr |
Popis |
|---|---|
|
Neprázdná sekvence (seznam, n-tice nebo jiný indexovatelný objekt), ze které je vybrán náhodný prvek. |
# Choose a random number from a list
random_choice = random.choice([10, 20, 30, 40, 50])
controller.screen.print(random_choice)
# random_choice = (randomly chosen number from the list)
Státní kontrola#
seed#
seed inicializuje generátor náhodných čísel a nastavuje jeho stav tak, aby bylo možné reprodukovat náhodné výsledky.
Usage:
random.seed(a=None)
Parametr |
Popis |
|---|---|
|
Volitelné. Počáteční hodnota. Může to být int, float, str, bytes nebo bytearray. Pokud je |
random.seed(42)
# Always return the same results
print(random.randint(1, 10))
print(random.random())