Biblioteca Random em Python: Guia Completo
Trabalhar com números aleatórios é uma das tarefas fundamentais na programação. Seja criando um jogo simples, simulando eventos probabilísticos ou trabalhando com machine learning, a biblioteca random em Python será sua aliada confiável como desenvolvedor.
Neste material, vamos explorar detalhadamente como usar a biblioteca random em Python de forma eficiente. Veremos as funções randint e faremos uma comparação com sua equivalente na biblioteca NumPy.
O que é a biblioteca random
A biblioteca random é um módulo padrão do Python, projetado para gerar números pseudoaleatórios. O módulo não requer instalação adicional. Ela oferece uma ampla gama de funções para gerar números aleatórios, selecionar elementos aleatórios de sequências e embaralhar dados.
Principais recursos da biblioteca random
- Geração de números aleatórios de diferentes tipos
- Seleção de um elemento aleatório de uma lista ou tupla
- Embaralhamento de elementos em coleções
- Geração de números aleatórios com distribuição normal
- Criação de sequências aleatórias
- Trabalho com distribuições de probabilidade
Importação e primeiros passos com random
Para começar a usar a biblioteca, basta importar o módulo da forma padrão:
import random
Após a importação, todas as funções do módulo random ficam disponíveis para gerar dados aleatórios.
Principais funções da biblioteca random
Função random.random()
Esta função gera um número decimal aleatório no intervalo de 0.0 a 1.0. O número não inclui o limite superior.
import random
print(random.random()) # Resultado possível: 0.7345832
Função random.randint() e suas características
A função random.randint() é uma das mais populares do módulo. Ela gera um número inteiro aleatório dentro de um intervalo específico. Uma característica importante é que ambas as extremidades do intervalo são incluídas.
random.randint(a, b) # Retorna um número aleatório de a até b, inclusive
Aplicação prática da função randint:
numero = random.randint(1, 10)
print(f"Número aleatório: {numero}")
Resultado: um número aleatório entre 1 e 10, incluindo ambos.
Função random.choice()
Esta função seleciona um elemento aleatório de uma sequência fornecida. Funciona com listas, tuplas, strings e outros objetos iteráveis.
cores = ['vermelho', 'azul', 'verde', 'amarelo']
cor_selecionada = random.choice(cores)
print(cor_selecionada) # Resultado possível: 'azul'
Função random.shuffle()
Esta função embaralha os elementos de uma lista diretamente no local. Ela modifica a lista original sem criar um novo objeto.
baralho = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(baralho)
print(baralho) # Os elementos estarão em ordem aleatória
Funções adicionais do random
Função random.uniform()
Gera um número decimal aleatório dentro de um intervalo especificado:
valor = random.uniform(1.5, 5.5)
print(valor) # Número aleatório entre 1.5 e 5.5
Função random.sample()
Retorna uma amostra aleatória de uma sequência, sem repetições:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
amostra = random.sample(numeros, 3)
print(amostra) # Três números aleatórios sem repetição
NumPy e a função np.random.randint
O que é np.random.randint
A função np.random.randint é a equivalente da random.randint na biblioteca NumPy. Ela é usada para trabalhar com arrays e vetores