Seite 1 von 1
Funktion für Primzahlen
Verfasst: Dienstag 16. November 2021, 14:50
von ninety
Ich versuche ein Funktion zu schreiben, welche mir angibt ob die Variable eine Primzahl (True) oder keine Primzahl (False) ist.
def is_prime(number):
if number / 2 != int:
return False
elif number / 2 != float:
return True
Es sollte doch eigentlich funktionieren, oder?
print(is_prime(17) == False)
Re: Funktion für Primzahlen
Verfasst: Dienstag 16. November 2021, 14:55
von __deets__
Du vergleichst einen Zahlwert mit einem Typen. Das ist niemals sinnvoll.
Re: Funktion für Primzahlen
Verfasst: Dienstag 16. November 2021, 15:00
von Sirius3
Eine Zahl kann niemals gleich einem Typ sein.
Was Du suchst, ist, ob ein Zahl ohne Rest teilbar ist:
Code: Alles auswählen
def is_prime(number):
if number % 2 != 0:
return False
elif number % 2 == 0:
return True
Da die zweite Bedingung genau dem Gegenteil der ersten entspricht, kann man auch else benutzen:
Code: Alles auswählen
def is_prime(number):
if number % 2 != 0:
return False
else:
return True
Da die if-Blöcke nur wieder einen Wahrheitswert zurückliefern, kann man die Bedingung auch gleich ins `return` einbauen:
Das einzige Problem, das jetzt noch besteht, ist, dass die Funktion nicht tut, was der Name behauptet.
Wie prüft man denn, ob eine Zahl eine Primzahl ist?