Gerar um número principal aleatório em Python

Rayven Esplanada 10 outubro 2023
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)
Rayven Esplanada avatar Rayven Esplanada avatar

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

Artigo relacionado - Python Number