Gerar um número principal aleatório em Python
Este tutorial demonstra maneiras de gerar e produzir qualquer número primo aleatório em Python.
Os números primos são constantes muito úteis usadas em programação, especialmente em criptografia. O uso de números primos é vital para a criptografia e hashing, pois eles podem ser usados para criptografar e fazer hash de dados sensíveis e evitar que sejam descriptografados aleatoriamente.
Crie uma função para gerar um número principal aleatório com um determinado intervalo
Os números primos têm apenas 2 fatores (os fatores são números que podem dividir outro número e resultar em um número inteiro). Os números primos são apenas divisíveis por 1 e por eles próprios.
É tecnicamente impossível gerar um número primo aleatório variando de 0 a infinito, pois isso exigirá muito poder de processamento para mantê-lo até números enormes.
Dado isso, um intervalo de números precisaria ser incluído como parâmetros para reunir os números primos dentro de um intervalo definido.
A primeira coisa a fazer é criar uma função para reunir todos os números primos dentro de um determinado intervalo em uma lista. Para esta função, faça um loop em todos os números dentro do intervalo e verifique se os únicos números divisíveis são 1 e ele mesmo.
def primesInRange(x, y):
prime_list = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list.append(n)
return prime_list
print(primesInRange(100, 250))
A saída imprimirá todos os números primos do intervalo fornecido de 100 a 250.
Resultado:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241]
A próxima etapa é gerar um número aleatório a partir do intervalo dado de números primos retornados pela função primesInRange()
.
No módulo Python random
, ele tem uma função chamada choice()
que escolhe um elemento aleatório de um dado iterável ou seqüência.
Dada a função primesInRange()
implementada acima, pegue o retorno com uma variável de lista e escolha um número primo aleatório na lista usando random.choice()
. Não se esqueça de importar o módulo random
antes de usar a função choice()
.
import random
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
Saída aleatória de amostra:
Generated random prime number: 191
Este é o código-fonte completo desta solução:
import random
def primesInRange(x, y):
prime_list = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list.append(n)
return prime_list
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn