Aleatório#
Introdução#
O módulo urandom , que está disponível por defeito no VEXcode. Estes métodos permitem gerar números aleatórios, números de ponto flutuante e valores a partir de listas ou intervalos — útil para adicionar imprevisibilidade a jogos, comportamentos e tomada de decisões autónomas.
Segue-se uma lista dos métodos disponíveis:
randint– Devolve um número inteiro aleatório entre dois valores (inclusive).uniform– Devolve um número de ponto flutuante aleatório entre dois valores.randrange– Devolve um número inteiro aleatório de um intervalo com um passo opcional.seed– define o valor inicial para o gerador de números pseudo-aleatórios deurandom.
randint#
randint devolve um número inteiro aleatório entre dois valores (inclusive), em que ambos os valores são inteiros.
Usage:
urandom.randint(a, b)
Parâmetro |
Descrição |
|---|---|
|
Um número inteiro que representa o limite inferior inclusivo do intervalo. |
|
Um número inteiro que representa o limite superior inclusivo do intervalo. |
# Generate a random integer between
# 1 and 10 (inclusive)
urandom_int = urandom.randint(1, 10)
brain.print(urandom_int)
# urandom_int = (random integer between 1 and 10)
uniforme#
uniform devolve um número de ponto flutuante aleatório entre dois valores, em que ambos os valores são números de ponto flutuante ou inteiros.
Usage:
urandom.uniform(start, end)
Parâmetro |
Descrição |
|---|---|
|
Um número de ponto flutuante ou inteiro que representa o limite inferior do intervalo. |
|
Um número de ponto flutuante ou inteiro que representa o limite superior do intervalo. |
# Generate a random float
# between 5.0 and 10.0
urandom_uniform = urandom.uniform(5.0, 10.0)
brain.print(urandom_uniform)
# urandom_uniform = (random float
# between 5.0 and 10.0)
randrange#
randrange devolve um número inteiro aleatório de um intervalo com um incremento opcional, em que os valores inicial e final são números inteiros.
Usage:
urandom.randrange(start, stop, step)
Parâmetro |
Descrição |
|---|---|
|
Opcional. Um número inteiro que representa o valor inicial inclusivo do intervalo. O predefinido é 0. |
|
Um número inteiro que representa o valor final único do intervalo. |
|
Opcional. Um número inteiro que representa a diferença entre cada número do intervalo. O valor predefinido é 1. |
# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.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.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.print(urandom_range)
# urandom_range = (random multiple of 5 between 10 and 45)
semente#
seed define o valor inicial para urandom, o gerador de números pseudo-aleatórios.
Se não definir uma semente, o seu projeto poderá gerar a mesma sequência aleatória sempre que for iniciado.
Para obter resultados diferentes em cada execução, defina a semente uma única vez no início do projeto utilizando um valor que mude entre execuções — como leituras da bateria, um valor de temporizador ou uma combinação de ambos.
Usage:
urandom.seed(seed)
Parâmetro |
Descrição |
|---|---|
|
Um número inteiro utilizado para iniciar a sequência pseudoaleatória. |
# Set a different seed each time the project starts
urandom.seed(int(brain.battery.current()))