Gerando numeros aleatorios em python

Às vezes, ao fazer programas para jogos ou apostas, nos deparamos com a tarefa de criar a lista toda com números aleatórios. Esta tarefa é executada em geral usando loop e anexando os números aleatórios um por um. Mas sempre há um requisito para fazer isso da maneira mais concisa. Vamos discutir algumas maneiras pelas quais isso pode ser feito.

Método # 1: usando compreensão de lista + randrange() 

O método ingênuo de realizar essa tarefa específica pode ser reduzido usando a compreensão de lista. A função randrange é usada para realizar a tarefa de gerar os números aleatórios. 
 

import random   res = [random.randrange(1, 50, 1) for i in range(7)]   print ("Random number list is : " +  str(res))

Resultado:  A lista de números aleatórios é: [21, 27, 23, 20, 21, 25, 15]

  
Método 2: Usando random.sample() 

Esta função de utilidade única executa exatamente o exigido pela declaração do problema, gerou N no. de números aleatórios em uma lista no intervalo especificado e retorna a lista necessária.
 

import random   res = random.sample(range(1, 50), 7)   print ("Random number list is : " +  str(res))

Resultado: 

A lista de números aleatórios é: [8, 46, 45, 49, 15, 6, 31]

Método # 3: usando numpy.random

A função aleatória fornecida pelo módulo numpy pode ser mais útil para você, pois fornece funcionalidade e desempenho pouco melhores em comparação com o módulo aleatório.

1. Gerando uma lista de inteiros aleatórios usando a função numpy.random.randint

Esta função retorna inteiros aleatórios da distribuição “uniforme discreta” do tipo de dados inteiro.

import numpy as np   print(list(np.random.randint(low = 3,high=8,size=10)))   print(list(np.random.randint(low = 3,size=5))) Resultado: [5, 3, 6, 7, 4, 5, 7, 7, 7, 7] [0, 2, 1, 2, 1]

2. Gerando lista de valores flutuantes aleatórios usando a função numpy.random.random_sample

Esta função retorna valores flutuantes aleatórios no intervalo semiaberto [0,0, 1,0).

import numpy as np   print(np.random.random_sample(size = 4))   print(np.random.random_sample(size = (4,4))) resultado: [0,08035145 0,94966245 0,92860366 0,22102797] [[0,02937499 0,50073572 0,58278742 0,02577903] [0,37892104 0,60267882 0,33774815 0,28425059] [0,57086088 0,07445422 0,86236614 0,33505317] [0,83514508 0,82818536 0,1917555 0,76293027]]

O benefício de usar numpy.random em vez do módulo aleatório do python é que ele fornece poucas distribuições de probabilidade extras que podem ajudar na pesquisa científica.

Este post discutirá como gerar um número aleatório em Python.

1. Usando random.randrange() função

Uma abordagem simples para gerar um número aleatório entre o intervalo especificado em Python é usar o random.randrange() função. Veja um exemplo de seu uso:

if __name__ == '__main__':

    # imprime número aleatório entre início (inclusive) e fim (exclusivo)

    print(random.randrange(start, end))

Download  Executar código

 
Para gerar um elemento aleatório menor que um valor, você pode usar o seguinte código:

if __name__ == '__main__':

    # imprime número aleatório entre 0 e 9, ambos inclusive

    print(random.randrange(10))

Download  Executar código

2. Usando random.randint() função

o random.randrange(x, y) função gera o inteiro aleatório n de tal modo que x <= n < y. Se você precisar gerar um número aleatório incluindo o argumento final (ou seja, x <= n <= y), use o random.randint(x, y) função.

Em outras palavras, random.randint(x, y) função é equivalente para random.randrange(x, y+1).

if __name__ == '__main__':

    # imprime número aleatório entre o início e o fim, ambos inclusive

    print(random.randint(start, end))

Download  Executar código

3. Usando random.choice() função

o randint() ou randrange() é a maneira preferida de gerar um número aleatório a partir de uma sequência contínua. Para escolher um item aleatório de uma sequência como uma lista ou uma tupla, você deve usar o random.choice() função.

if __name__ == '__main__':

    values = list(range(1, 10))

    # imprime um número aleatório de uma lista especificada

    rand = random.choice(values)

Download  Executar código

4. Usando secrets.randbelow() função

O módulo aleatório é usado para gerar números pseudoaleatórios. Para gerar um número aleatório criptograficamente seguro, considere usar o randbelow() função do secrets módulo.

if __name__ == '__main__':

    # imprime número aleatório criptograficamente seguro

    # entre 0 e 9, ambos inclusive

    print(secrets.randbelow(10))

Download  Executar código

5. Usando secrets.choice() função

o secrets.randbelow() A função é preferida para proteger criptograficamente números aleatórios de uma sequência contínua. Para gerar um número aleatório criptograficamente seguro a partir de uma sequência como uma lista ou uma tupla, use o secrets.choice() função.

if __name__ == '__main__':

    values = list(range(1, 10))

    # imprime um número aleatório criptograficamente seguro de uma lista especificada

    rand = secrets.choice(values)

Download  Executar código

6. Usando numpy.random.randint() função

Com NumPy, você pode usar o numpy.random.randint(x, y) função.

if __name__ == '__main__':

    print(np.random.randint(start, end))

Isso é tudo sobre como gerar um número aleatório em Python.


Obrigado por ler.

Por favor, use nosso compilador online para postar código em comentários usando C, C++, Java, Python, JavaScript, C#, PHP e muitas outras linguagens de programação populares.

Como nós? Indique-nos aos seus amigos e ajude-nos a crescer. Codificação feliz 🙂


Última postagem

Tag