Gerar inteiros aleatórios no intervalo em Python

Manav Narula 30 janeiro 2023
  1. Use a função random.randint() para gerar números inteiros aleatórios entre um intervalo específico em Python
  2. Use a função random.randrange() para gerar números inteiros aleatórios entre um intervalo específico em Python
  3. Use a função random.sample() para gerar números inteiros aleatórios entre um intervalo específico em Python
  4. Use o módulo NumPy para gerar números inteiros aleatórios entre um intervalo específico em Python
Gerar inteiros aleatórios no intervalo em Python

Python é uma ferramenta muito útil para Análise de Dados. Quando lidamos com cenários do mundo real, temos que gerar valores aleatórios para simular situações e trabalhar nelas.

Python possui os módulos random e NumPy disponíveis, que possuem métodos eficientes para trabalhar e gerar números aleatórios com facilidade.

Neste tutorial, geraremos alguns inteiros aleatórios entre um intervalo específico em Python.

Use a função random.randint() para gerar números inteiros aleatórios entre um intervalo específico em Python

A função randint() é usada para gerar inteiros aleatórios entre um intervalo especificado. As posições inicial e final são passadas para a função como parâmetros.

Por exemplo,

import random

x = random.randint(0, 10)
print(x)

Resultado:

8

Para gerar uma lista de números aleatórios com esta função, podemos usar o método de compreensão de lista com o loop for conforme mostrado abaixo:

import random

x = [random.randint(0, 9) for p in range(0, 10)]
print(x)

Resultado:

[1, 6, 6, 5, 8, 8, 5, 5, 8, 4]

Observe que este método só aceita valores inteiros.

Use a função random.randrange() para gerar números inteiros aleatórios entre um intervalo específico em Python

A função randrange() também retorna um número aleatório dentro de um intervalo e aceita apenas valores inteiros, mas aqui temos a opção de especificar um parâmetro muito útil chamado step. O parâmetro step nos permite encontrar um número aleatório que é divisível por um número específico. Por padrão, este parâmetro é 1.

Por exemplo,

import random

x = random.randrange(0, 10, 2)
print(x)

Resultado:

4

Observe que a saída é divisível por 2. Usando o mesmo método de compreensão de lista, podemos gerar uma lista de números aleatórios com esta função, conforme mostrado abaixo.

import random

x = [random.randrange(0, 10, 2) for p in range(0, 10)]
print(x)

Resultado:

[8, 0, 6, 2, 0, 6, 8, 6, 0, 4]

Use a função random.sample() para gerar números inteiros aleatórios entre um intervalo específico em Python

Com esta função, podemos especificar o intervalo e o número total de números aleatórios que queremos gerar. Também garante que nenhum valor duplicado esteja presente. O exemplo a seguir mostra como usar esta função.

import random

x = random.sample(range(10), 5)
print(x)

Resultado:

[7, 8, 5, 9, 6]

Use o módulo NumPy para gerar números inteiros aleatórios entre um intervalo específico em Python

O módulo NumPy também possui três funções disponíveis para realizar esta tarefa e gerar o número necessário de inteiros aleatórios e armazená-los em um array numpy.

Essas funções são numpy.random.randint(), numpy.random.choice() e numpy.random.uniform(). O código a seguir mostra como usar essas funções.

Por exemplo,

import numpy as np

x1 = np.random.randint(low=0, high=10, size=(5,))
print(x1)

x2 = np.random.uniform(low=0, high=10, size=(5,)).astype(int)
print(x2)

x3 = np.random.choice(a=10, size=5)
print(x3)

Resultado:

[3 2 2 2 8]
[8 7 9 2 9]
[0 7 4 1 4]
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Random