Losowy#
Wstęp#
Funkcja Random zapewnia dostęp do modułu Pythona random , który jest domyślnie dostępny w środowisku VEXcode AIR. 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. Aby rozpocząć korzystanie z tych funkcji, dodaj polecenie import random na początku projektu.
Poniżej znajduje się lista dostępnych metod:
Generatory liczb – bezpośrednio generują losowe liczby lub bity.
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.
Wybór – losowe wybieranie elementów z sekwencji.
choice– Zwraca losowy element z niepustej listy lub sekwencji.
Kontrola stanu – zarządzanie lub inicjowanie stanu generatora liczb losowych.
seed– Ustawia ziarno dla generatora liczb losowych w celu wygenerowania deterministycznych wyników.
Generatory liczb#
randint#
randint zwraca losową liczbę całkowitą z zakresu a (włącznie) do b (włącznie).
Usage:
random.randint(a, b)
Parametr |
Opis |
|---|---|
|
Liczba całkowita reprezentująca dolną granicę zakresu. |
|
Liczba całkowita reprezentująca całkowitą górną granicę zakresu. |
# 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 zwraca losową liczbę zmiennoprzecinkową pomiędzy start i end.
Usage:
random.uniform(start, end)
Parametr |
Opis |
|---|---|
|
Liczba zmiennoprzecinkowa lub całkowita określająca dolną granicę zakresu. |
|
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)
controller.screen.print(random_uniform)
# random_uniform = (random float between 5.0 and 10.0)
randrange#
randrange zwraca losową liczbę całkowitą z określonego zakresu.
Usage:
random.randrange(start, stop, step)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Liczba całkowita reprezentująca wartość początkową zakresu (włącznie). Wartość domyślna to 0. |
|
Liczba całkowita reprezentująca wyłączną wartość końcową zakresu. |
|
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)
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 zwraca losową liczbę zmiennoprzecinkową z zakresu od 0,0 (włącznie) do 1.0 (wyłącznie).
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()
controller.screen.print(random_float)
# random_float = (random float between 0.0 and 1.0)
getrandbits#
getrandbits zwraca liczbę całkowitą z określoną liczbą losowych bitów.
Usage:
random.getrandbits(n)
Parametr |
Opis |
|---|---|
|
Liczba całkowita oznaczająca liczbę losowych bitów |
# 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)
Wybór#
choice#
choice wybiera i zwraca jeden element losowo z sekwencji.
Usage:
random.choice(sequence)
Parametr |
Opis |
|---|---|
|
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])
controller.screen.print(random_choice)
# random_choice = (randomly chosen number from the list)
Kontrola państwowa#
seed#
Ziarno seed inicjuje generator liczb losowych, ustawiając jego stan w taki sposób, aby możliwe było odtworzenie losowych wyników.
Usage:
random.seed(a=None)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Wartość początkowa. Może to być int, float, str, bytes lub tablica bajtów. Jeśli |
random.seed(42)
# Always return the same results
print(random.randint(1, 10))
print(random.random())