Função de semente aleatória em Python

Abdul Jabbar 13 janeiro 2022
Função de semente aleatória em Python

Se você deseja um número aleatório de resultados inesperados para jogos de azar ou de computador, você deve criar o número aleatório a partir do método integrado em Python. Também é útil na criptografia porque ajuda a criar números aleatórios que os hackers ou atacantes não conseguem adivinhar.

O procedimento seed é usado para reiniciar o gerador de números aleatórios. O gerador de números aleatórios precisa de um número para começar (um valor de semente), para ser capaz de gerar um número aleatório. Pode ser qualquer número, mas geralmente vem de segundos no relógio de um sistema de computador. Por padrão, o gerador de números aleatórios usa a hora real do computador. Use o método para personalizar o número inicial do gerador de números aleatórios.

Número Pseudo-aleatório gera uma tarefa executando algumas funções em um valor. Geralmente, esse valor é o número anterior gerado pelo gerador. De qualquer forma, na primeira vez que você usa o gerador, não há valor anterior.

Nota: Se você usar o mesmo valor de semente duas vezes, obterá o mesmo número aleatório duas vezes; veremos esse caso no exemplo de código abaixo.

Ao chamar esse método, não espere que seja um número único, porque os computadores nem sempre calculam números verdadeiramente aleatórios, pois funciona em algum conjunto de regras predefinidas. Se você quiser adicionar alguma aleatoriedade, você deve criar algumas regras para o seu processo; por exemplo, para criar uma equação para o seu processo na expressão com x, adicione 600 + x e, em seguida, subtraia com 30. Vamos considerar x (o valor inicial) como 40.

  • Adicionar 600 + 40 = 640
  • Subtraia 30 = 614

Seguindo o mesmo algoritmo, o segundo número aleatório seria.

  • Adicionar 600 + 30 = 630
  • Subtraia 30 = 600

Este exemplo simples segue um certo padrão especificado, no entanto, os algoritmos por trás da geração de números do computador são muito mais difíceis de imitar a aleatoriedade, muito melhor do que posso fazer aqui. Mas o processo ainda segue um certo padrão, que será repetido na próxima vez que você inserir 40, ou qualquer número que você escolher na semente aleatória.

Função de semente aleatória em Python

Neste bloco de código, iremos gerar um número aleatório entre 0 e 100 e gerar 3 vezes para fins de verificação. Na primeira e na segunda vez, damos a mesma semente, e na terceira vez, não há semente ou alterando o valor da semente. Primeiro, importaremos a funcionalidade aleatória em nosso código e forneceremos a semente como 3, que nos dará o valor 31 como um número aleatório, então forneceremos a mesma semente, que nos fornecerá o mesmo número novamente porque a semente foi mesmo. Mas quando fornecemos uma nova semente ou nenhuma semente, o valor sempre será diferente.

import random

random.seed(4)
print(random.randint(1, 100))
random.seed(4)
print(random.randint(1, 100))
print(random.randint(1, 100))

Resultado:

31
31
39

Usar a função random.randint geraria um número aleatório e não faria mais nada. Se você deseja manter o uso do mesmo número gerado aleatoriamente, tão simples quanto isso, você deve usar a função de semente.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn