Genera un numero primo casuale in Python
Questo tutorial mostra i modi per generare e visualizzare in output qualsiasi numero primo casuale in Python.
I numeri primi sono costanti molto utili utilizzate nella programmazione, specialmente nella crittografia. L’uso di numeri primi è vitale per la crittografia e l’hashing in quanto possono essere utilizzati per crittografare e hash dati sensibili e impedire che vengano decrittografati a casaccio.
Crea una funzione per generare un numero primo casuale con un determinato intervallo
I numeri primi hanno solo 2 fattori (i fattori sono numeri che possono dividere un altro numero e dare come risultato un numero intero). I numeri primi sono divisibili solo per 1 e se stessi.
È tecnicamente impossibile generare un numero primo casuale compreso tra 0 e infinito poiché ciò richiederà molta potenza di elaborazione per mantenerlo fino a numeri enormi.
Detto questo, un intervallo di numeri dovrebbe essere incluso come parametri per raccogliere i numeri primi all’interno di un intervallo prestabilito.
La prima cosa da fare è creare una funzione per raccogliere tutti i numeri primi all’interno dell’intervallo dato in una lista. Per questa funzione, loop tutti i numeri all’interno dell’intervallo e controlla se gli unici numeri divisibili sono 1 e se stesso.
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))
L’output stamperà tutti i numeri primi dall’intervallo dato da 100 a 250.
Produzione:
[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]
Il passo successivo è generare un numero casuale dal dato intervallo di numeri primi restituiti dalla funzione primesInRange()
.
Sotto il modulo Python random
, ha una funzione chiamata choice()
che sceglie un elemento casuale da un dato iterabile o sequenza.
Data la funzione primesInRange()
implementata sopra, cattura il ritorno con una variabile di lista e scegli un numero primo casuale all’interno della lista usando random.choice()
. Non dimenticare di importare il modulo random
prima di usare la funzione choice()
.
import random
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
Esempio di output randomizzato:
Generated random prime number: 191
Questo è il codice sorgente completo di questa soluzione:
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