Generieren Sie eine zufällige Primzahl in Python
Dieses Tutorial zeigt Möglichkeiten zum Generieren und Ausgeben beliebiger Primzahlen in Python.
Primzahlen sind sehr nützliche Konstanten, die bei der Programmierung verwendet werden, insbesondere in der Kryptographie. Die Verwendung von Primzahlen ist für die Verschlüsselung und das Hashing von entscheidender Bedeutung, da sie zum Verschlüsseln und Hashing sensibler Daten verwendet werden können und verhindern, dass sie willkürlich entschlüsselt werden.
Erstellen Sie eine Funktion zum Generieren einer zufälligen Primzahl mit einem bestimmten Bereich
Primzahlen haben nur 2 Faktoren (Faktoren sind Zahlen, die eine andere Zahl teilen und zu einer ganzen Zahl führen können). Primzahlen sind nur durch 1 und sich selbst teilbar.
Es ist technisch unmöglich, eine zufällige Primzahl im Bereich von 0 bis unendlich zu generieren, da dies viel Rechenleistung erfordert, um sie bis zu großen Zahlen aufrechtzuerhalten.
Angesichts dessen müsste ein Zahlenbereich als Parameter aufgenommen werden, um Primzahlen innerhalb eines festgelegten Bereichs zu erfassen.
Als erstes erstellen Sie eine Funktion, um alle Primzahlen innerhalb des angegebenen Bereichs in einer Liste zusammenzufassen. Führen Sie für diese Funktion eine Schleife aller Zahlen innerhalb des Bereichs durch und prüfen Sie, ob die einzigen teilbaren Zahlen 1 und sich selbst sind.
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))
Die Ausgabe druckt alle Primzahlen aus dem angegebenen Bereich von 100 bis 250.
Ausgabe:
[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]
Der nächste Schritt besteht darin, eine Zufallszahl aus dem angegebenen Bereich von Primzahlen zu generieren, die von der Funktion primesInRange()
zurückgegeben werden.
Unter dem Python-Modul random
gibt es eine Funktion namens choice()
, die ein zufälliges Element aus einer bestimmten Iterable oder Sequenz auswählt.
Mit der oben implementierten Funktion primesInRange()
fangen Sie die Rückgabe mit einer Listenvariablen ab und wählen mit random.choice()
eine zufällige Primzahl innerhalb der Liste. Vergessen Sie nicht, das Modul random
zu importieren, bevor Sie die Funktion choice()
verwenden.
import random
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
Zufällige BeispielAusgabe:
Generated random prime number: 191
Dies ist der vollständige Quellcode dieser Lösung:
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