🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 2 de julho de 2024

Entenda como funciona e como usar a biblioteca Random Python para trabalhar com valores aleatórios.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Biblioteca Random Python – Trabalhando com Valores Aleatórios

Na aula de hoje, vou te explicar como funciona a biblioteca Random Python e como você pode utilizá-la para trabalhar com dados ou valores aleatórios.

Existem várias funções muito interessantes nessa biblioteca, como random, sample, choice, choices, shuffle, randrange e randint. E hoje, eu vou te mostrar como cada uma delas pode ser utilizada.

Cada uma dessas funções pode gerar valores aleatórios, embaralhar informações em uma lista, gerar valores dentro de um intervalo específico ou selecionar informações aleatórias de uma lista.

Então, faça o download do material disponível e vem comigo conhecer as diversas possibilidades para trabalhar com valores aleatórios no Python utilizando a biblioteca random.

Geração de Valores Aleatórios – Como Funciona?

Seja em Python ou em qualquer outra linguagem de programação, a geração de valores aleatórios é feita com base em uma seed (semente), um valor original a partir do qual os números aleatórios serão gerados.

Por padrão, o computador utiliza uma combinação de diversos elementos para criar esses números aleatórios. Dependendo da linguagem de programação, essa base pode ser um número de registro, a data ou algum outro valor presente no sistema.

O que é uma seed?

A seed é justamente esse valor que serve como referência para que a linguagem de programação gere os números aleatórios. É possível estipular manualmente o valor da seed.

Por exemplo, em Python, podemos importar a biblioteca random e estipular o valor da seed como 10:

import random

# seed
random.seed(10)

Dessa forma, estamos definindo o valor inicial para a geração dos números aleatórios como 10. É possível definir qualquer número ou deixar sem nada, e a biblioteca utilizará algum valor do computador como referência.

Função Random – Como funciona?

Dentro da biblioteca random, temos a função de mesmo nome, random. Essa função é utilizada para gerar um número aleatório entre 0 e 1.

import random

# random - número entre 0 e 1
numero_aleatorio = random.random()

print(numero_aleatorio)
Função Random

Esse número sempre será um float com diversas casas decimais.

Função Randrange e Randint – Intervalo de Valores

Como vimos, a função random gera números aleatórios entre 0 e 1, sendo sempre números float com várias casas decimais.

Para gerar números inteiros em um intervalo definido, devemos utilizar as funções randrange ou randint. Essas duas funções recebem como argumentos o valor inicial e o valor final do intervalo.

A diferença entre elas é que, na randrange, o valor final do intervalo nunca é gerado, ou seja, ele não é incluído entre os valores possíveis. Já na randint, o valor final é incluído.

Função randrange:

# randrange (exclusivo) e randint (inclusivo)
numero_0a100 = random.randrange(0, 100)

print(numero_0a100)
Função Randrange

Função randint:

# randrange (exclusivo) e randint (inclusivo)
numero_0a100 = random.randint(0, 100)

print(numero_0a100)

Função randint

Além dessa diferença, a função randrange também aceita um terceiro argumento, o passo(step), que determina o incremento entre os valores gerados. Por exemplo, para gerar números entre 0 e 100 com incremento de 5:

# randrange (exclusivo) e randint (inclusivo)
numero_0a100 = random.randrange(0, 100, 5)

print(numero_0a100)

randrange

Perceba que, como o valor inicial é 0 e o incremento é de 5 em 5, os números gerados aleatoriamente dessa forma serão múltiplos de 5, como 0, 5, 10, 15, etc.

Função Choice e Choices – Seleção Aleatória de Elementos

Além de gerar números aleatórios, a biblioteca random também oferece funções para selecionar elementos aleatoriamente a partir de uma sequência, como uma lista. Essas são as funções choice e choices.

A função choice recebe como argumento uma lista de elementos, que podem ser números ou textos, e retorna aleatoriamente um único elemento dela.

# choice e choices (pode pegar itens repetidos)
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print(random.choice(numeros))

Função Choice

Por sua vez, a função choices permite selecionar múltiplos elementos aleatoriamente dentro dessa lista. Ela aceita dois argumentos principais: a sequência da qual selecionará os elementos e o parâmetro k, que define o número de valores selecionados.

# choice e choices (pode pegar itens repetidos)
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print(random.choices(numeros, k=2))

Função Choices

Nesse caso, o resultado da função é uma lista com dois números. Além disso, dentro do choices, é possível que haja repetição de valores, ou seja, essa função pode selecionar mais de uma vez o mesmo número dentro da lista. Então poderíamos ter como resultado uma lista com [7, 7], por exemplo.

Função Sample – Seleção Aleatória de Elementos Únicos

Para selecionar elementos aleatórios evitando a repetição de valores, podemos utilizar a função sample.

Essa função permite selecionar múltiplos elementos aleatoriamente dentro de uma lista, garantindo que não haja repetição de elementos selecionados.

Assim como a função choices, a função sample recebe como argumentos a sequência da qual selecionará os elementos e o parâmetro k.

# sample (sempre itens diferentes)
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print(random.sample(numeros, k=2))

Função Sample

Essa função é mais aconselhada quando você precisa garantir que cada elemento selecionado seja único, ou seja, que não haja repetições dentro do resultado.

Função Shuffle – Embaralhando Valores

Dentro da biblioteca random também podemos encontrar a função shuffle. Essa função serve para embaralhar os elementos de uma lista. Ela recebe uma lista como argumento e modifica a ordem dos elementos na própria lista original.

# shuffle
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print("Lista Original:")
print(numeros)

random.shuffle(numeros)

print("Lista Embaralhada:")
print(numeros)

Função Shuffle

Perceba com o nosso exemplo que a função shuffle modificou a lista original. Não foi criada uma nova lista com os números embaralhados, mas sim a lista original agora tem seus elementos em uma nova ordem aleatória.

Variantes de Valores Aleatórios

Existem algumas funções dentro da biblioteca random que são especialmente úteis para profissionais da área de estatística.

Essas funções permitem gerar valores aleatórios baseados em diferentes distribuições, como a curva gaussiana, distribuição normal e outras variações.

Para explorar essas funcionalidades, você pode listar as opções disponíveis digitando random. no seu editor de códigos e visualizar as opções, ou consultar a documentação oficial da biblioteca random em Python.

Conclusão – Biblioteca Random Python – Trabalhando com Valores Aleatórios

Nessa aula eu te ensinei como funcione e como utilizar a biblioteca Random Python para trabalhar com valores aleatórios.

Essa biblioteca é muito interessante quando precisamos trabalhar com dados aleatórios. Sendo uma ferramenta muito interessante na área de estatística para simular valores aleatórios seguindo uma determinada distribuição.

Além disso, a biblioteca random pode ser aplicada para gerar senhas únicas e seguras. Caso queira conferir, temos uma aula te explicando o passo a passo de como criar senhas de acesso utilizando a biblioteca random Pyhon.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.