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

a

Um número inteiro que representa o limite inferior inclusivo do intervalo.

b

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

start

Um número de ponto flutuante ou inteiro que representa o limite inferior do intervalo.

end

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

start

Opcional. Um número inteiro que representa o valor inicial inclusivo do intervalo. O predefinido é 0.

stop

Um número inteiro que representa o valor final único do intervalo.

step

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

n

Um número inteiro que representa a quantidade de bits aleatórios (0 <= n <= 32).

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

sequence

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)