Como gerar números aleatórios em Python (módulo aleatório)

Aprenda como gerar números aleatórios em Python. Compare a geração de randrange, randint e float uniforme com controle de semeadura.

Experimente esta solução no Editor

Visão geral

A geração de números aleatórios é um requisito fundamental na programação de jogos, na seleção de itens aleatórios de conjuntos de dados, na escrita de aplicativos de criptografia e na realização de simulações estatísticas. Python fornece uma biblioteca integrada dedicada chamada `random` para lidar com a geração de números pseudo-aleatórios.

Se você precisar de um número inteiro aleatório dentro de um intervalo específico, a função `random.randint(a, b)` é a ferramenta mais comum, retornando um número inteiro aleatório onde ambos os pontos de extremidade são inclusivos. Alternativamente, `random.random()` gera um número de ponto flutuante entre 0,0 (inclusivo) e 1,0 (exclusivo), que pode ser escalado matematicamente para se ajustar aos limites personalizados.

Para tornar simulações e testes repetíveis, você pode usar a função `random.seed()`. Fornecer um número inteiro inicial garante que a sequência de números gerados será idêntica sempre que o código for executado. Para operações criptográficas que exigem alta segurança (como geração de tokens), geradores pseudo-aleatórios padrão devem ser evitados em favor do módulo `segredos`.

Saída de código e execução

Este script demonstra a geração de números inteiros aleatórios, pontos flutuantes e a seleção de elementos com o módulo aleatório.

random_numbers.py
Experimente no Editor
import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
Saída terminal
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

Implementação passo a passo

  • Importe o módulo aleatório no início do seu script.
  • Use random.randint(min, max) para gerar um número inteiro aleatório onde ambos os pontos de extremidade são inclusivos.
  • Use random.random() para gerar um float aleatório entre 0,0 e 1,0.

Perguntas frequentes

Como faço para gerar um float aleatório dentro de um intervalo personalizado?

Use random.uniform(a, b) para obter um número aleatório de ponto flutuante entre a e b.

O módulo aleatório é seguro para uso criptográfico?

Não, o módulo aleatório é pseudo-aleatório e não deve ser usado para fins sensíveis à segurança. Use o módulo de segredos.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.