Aleatório#
Introdução#
O módulo random fornece acesso ao módulo random do Python, que está disponível por defeito no VEXcode VR. 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:
Geradores de Números – Gere números inteiros, de ponto flutuante e bits aleatórios.
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.random– Devolve um número de ponto flutuante aleatório entre 0,0 (inclusive) e 1,0 (exclusive).getrandbits– Retorna um número inteiro com um número especificado de bits aleatórios.
Seleção – Selecionar elementos aleatórios de listas e sequências.
choice– Devolve um elemento aleatório de uma lista ou sequência não vazia.
Geradores de números#
randint#
randint devolve um número inteiro aleatório entre dois valores (inclusive), em que ambos os valores são inteiros.
Usage:
random.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. |
def main():
# Generate a random integer between
# 1 and 10 (inclusive)
random_int = random.randint(1, 10)
brain.print(random_int)
# random_int = (random integer between 1 and 10)
# VR threads — Do not delete
vr_thread(main)
uniform#
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.
Utilização:
random.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. |
def main():
# Generate a random float
# between 5.0 and 10.0
random_uniform = random.uniform(5.0, 10.0)
brain.print(random_uniform, precision=1)
# random_uniform = (random float
# between 5.0 and 10.0)
# VR threads — Do not delete
vr_thread(main)
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:
random.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. |
def main():
# Generate a random integer from
# 0 to 9 (exclusive of 10)
random_range = random.randrange(10)
brain.print(random_range)
# random_range = (random integer from 0 to 9)
# VR threads — Do not delete
vr_thread(main)
def main():
# Generate a random integer from
# 5 to 15 (exclusive of 15)
random_range = random.randrange(5, 15)
brain.print(random_range)
# random_range = (random integer from 5 to 14)
# VR threads — Do not delete
vr_thread(main)
def main():
# Generate a random integer from
# 10 to 50, stepping by 5
random_range = random.randrange(10, 50, 5)
brain.print(random_range)
# random_range = (random multiple of 5 between 10 and 45)
# VR threads — Do not delete
vr_thread(main)
random#
random devolve um número de ponto flutuante aleatório entre 0,0 (inclusive) e 1,0 (exclusive).
Usage:
random.random()
Parâmetro |
Descrição |
|---|---|
Este método não tem parâmetros. |
def main():
# Generate a random float between 0.0 and 1.0
random_float = random.random()
brain.print(random_float, precision=1)
# random_float = (random float between 0.0 and 1.0)
# VR threads — Do not delete
vr_thread(main)
getrandbits#
A getrandbits` devolve um número inteiro com uma quantidade específica de bits aleatórios, em que o número de bits é um número inteiro entre 0 e 32.
Usage:
random.getrandbits(n)
Parâmetro |
Descrição |
|---|---|
|
Um número inteiro que representa a quantidade de bits aleatórios |
def main():
# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
brain.print(random_bits)
# random_bits = (random integer between 0 and 255)
# VR threads — Do not delete
vr_thread(main)
Seleção#
choice#
choice returns a random element from a non-empty list or sequence.
Usage:
random.choice(sequence)
Parâmetro |
Descrição |
|---|---|
|
Uma sequência não vazia (lista, tupla ou outro objeto indexável) a partir da qual é selecionado um elemento aleatório. |
def main():
# Choose a random number from a list
random_choice = random.choice([10, 20, 30, 40, 50])
brain.print(random_choice)
# random_choice = (randomly chosen number from the list)
# VR threads — Do not delete
vr_thread(main)