À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.
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.
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 🙂