Losowy#

Wstęp#

Random zapewnia dostęp do modułu Pythona random , który jest domyślnie dostępny w VEXcode AIM. Metody te pozwalają generować liczby losowe, zmiennoprzecinkowe i wartości z list lub zakresów – przydatne do dodawania nieprzewidywalności do gier, zachowań i autonomicznego podejmowania decyzji.

Poniżej znajduje się lista wszystkich metod:

  • randint – Zwraca losową liczbę całkowitą pomiędzy dwiema wartościami (włącznie).

  • uniform – Zwraca losową liczbę zmiennoprzecinkową pomiędzy dwiema wartościami.

  • randrange – Zwraca losową liczbę całkowitą z zakresu z opcjonalnym krokiem.

  • random – Zwraca losową liczbę zmiennoprzecinkową z zakresu od 0,0 (włącznie) do 1,0 (bez ograniczeń).

  • getrandbits – Zwraca liczbę całkowitą z określoną liczbą losowych bitów.

  • choice – Zwraca losowy element z niepustej listy lub sekwencji.

Generatory liczb#

randint#

randint zwraca losową liczbę całkowitą pomiędzy dwiema wartościami (włącznie), gdzie obie wartości są liczbami całkowitymi.

Usage:
random.randint(a, b)

Parametr

Opis

a

Liczba całkowita reprezentująca dolną granicę zakresu.

b

Liczba całkowita reprezentująca całkowitą górną granicę zakresu.

# Generate a random integer between
# 1 and 10 (inclusive)
random_int = random.randint(1, 10)
robot.screen.print(random_int)

# random_int = (random integer between 1 and 10)

uniform#

uniform zwraca losową liczbę zmiennoprzecinkową pomiędzy dwiema wartościami, gdzie obie wartości są liczbami zmiennoprzecinkowymi lub całkowitymi.

Usage:
random.uniform(start, end)

Parametr

Opis

start

Liczba zmiennoprzecinkowa lub całkowita określająca dolną granicę zakresu.

end

Liczba zmiennoprzecinkowa lub całkowita określająca górną granicę zakresu.

# Generate a random float between 5.0 and 10.0
random_uniform = random.uniform(5.0, 10.0)
robot.screen.print(random_uniform)

# random_uniform = (random float between 5.0 and 10.0)

randrange#

randrange zwraca losową liczbę całkowitą z zakresu z opcjonalnym krokiem, gdzie zarówno wartość początkowa, jak i końcowa są liczbami całkowitymi.

Usage:
random.randrange(start, stop, step)

Parametr

Opis

start

Opcjonalnie. Liczba całkowita reprezentująca wartość początkową zakresu (włącznie). Wartość domyślna to 0.

stop

Liczba całkowita reprezentująca wyłączną wartość końcową zakresu.

step

Opcjonalnie. Liczba całkowita reprezentująca różnicę między poszczególnymi liczbami w zakresie. Domyślnie 1.

# Generate a random integer from
# 0 to 9 (exclusive of 10)
random_range = random.randrange(10)
robot.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)
robot.screen.print(random_range)

# random_range = (random integer from 5 to 14)

# Generate a random integer from
# 10 to 50, stepping by 5
random_range = random.randrange(10, 50, 5)
robot.screen.print(random_range)

# random_range = (random multiple of 5 between 10 and 45)

random#

random zwraca losową liczbę zmiennoprzecinkową pomiędzy 0,0 (włącznie) i 1,0 (bez ograniczeń).

Usage:
random.random()

Parametr

Opis

Ta metoda nie ma żadnych parametrów.

# Generate a random float between 0.0 and 1.0
random_float = random.random()
robot.screen.print(random_float)

# random_float = (random float between 0.0 and 1.0)

getrandbits#

getrandbits zwraca liczbę całkowitą o określonej liczbie losowych bitów, gdzie liczba bitów jest liczbą całkowitą z przedziału od 0 do 32.

Usage:
random.getrandbits(n)

Parametr

Opis

n

Liczba całkowita oznaczająca liczbę losowych bitów (0 <= n <= 32).

# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
robot.screen.print(random_bits)

# random_bits = (random integer between 0 and 255)

Wybór#

choice#

choice zwraca losowy element z niepustej listy lub sekwencji.

Usage:
random.choice(sequence)

Parametr

Opis

sequence

Niepusta sekwencja (lista, krotka lub inny obiekt indeksowalny), z której wybierany jest losowy element.

# Choose a random number from a list
random_choice = random.choice([10, 20, 30, 40, 50])
robot.screen.print(random_choice)

# random_choice = (randomly chosen number from the list)