Einführung
In der Mathematik ist eine Primzahl eine natürliche Zahl größer als 1, die kein Produkt von zwei kleineren natürlichen Zahlen ist. Beispielsweise ist 5 eine Primzahl, weil die einzigen Möglichkeiten, es als Produkt zu schreiben, 1 × 5 oder 5 × 1, 5 selbst beinhalten. 4 ist jedoch keine Primzahl, weil es ein Produkt (2 × 2) ist, bei dem beide Zahlen kleiner als 4 sind. In dieser Herausforderung müssen Sie eine Python-Funktion schreiben, um zu überprüfen, ob eine gegebene Zahl eine Primzahl ist oder nicht.
Zahl ist Primzahl
Schreiben Sie eine Python-Funktion namens is_prime(n), die eine ganze Zahl n als Eingabe nimmt und True zurückgibt, wenn die Zahl eine Primzahl ist, und False sonst. Um dieses Problem zu lösen, müssen Sie die folgenden Regeln befolgen:
- Geben Sie
Falsezurück, wenn die Zahl0,1, eine negative Zahl oder ein Vielfaches von2ist. - Verwenden Sie
all()undrange()zum Überprüfen von Zahlen von3bis zur Quadratwurzel der gegebenen Zahl. - Geben Sie
Truezurück, wenn keine Zahl die gegebene Zahl teilt,Falsesonst.
from math import sqrt
def is_prime(n):
if n <= 1 or (n % 2 == 0 and n > 2):
return False
return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie mithilfe von Python überprüfen können, ob eine gegebene Zahl eine Primzahl ist oder nicht. Sie haben die Funktionen all() und range() verwendet, um Zahlen von 3 bis zur Quadratwurzel der gegebenen Zahl zu überprüfen. Sie haben auch gelernt, wie Sie True zurückgeben, wenn keine Zahl die gegebene Zahl teilt, und False sonst.