Seite 1 von 1
Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Dienstag 8. Januar 2019, 23:25
von fabfreddy
Hallo zusammen,
warum wird in dem folgenden Programm die Zahl 2 als Primzahl erkannt?
def _check_prime_sample_(n):
if n < 2:
return False
# Iterate from 2 to the number
for i in range(2, n):
if n % i == 0:
return False
return True
Müsste nicht in der unteren if-Statement 0 herauskommen? (i = 2, n = 2 -> 2 % 2 = 0 -> False)
Ich bin Anfänger und wundere mich, wieso entgegen meiner Annahme die Prüfung True ergibt.
Danke für einen Hinweis.
Gruß
fabfreddy
Re: Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Dienstag 8. Januar 2019, 23:56
von __deets__
Dir ist klar, das 2 eine Primzahl ist? Ebenso wie 1?
Abgesehen davon: range, so wie von dir verwandt in der Form range(a, b) liefert alle zahlen von a an aufwärts, aber nicht b. Damit ist dein range leer, und die Schleife wird nicht durchlaufen.
Re: Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Mittwoch 9. Januar 2019, 08:14
von Sirius3
@fabfreddy: würde die Schleife wirklich bis einschließlich n laufen, dann wäre keine Zahl eine Primzahl, denn n % n ist immer 0. Die führenden und abschließenden _ in _check_prime_sample_ gehören weg.
Re: Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Mittwoch 9. Januar 2019, 19:46
von fabfreddy
Hallo zusammen,
danke für euer Feedback!
@ Sirius3: So ist es!... ist mir später dann auch aufgefallen, dass die Schleife den Wert n ja nicht erreicht und somit die Rechnung bei einem Input von 2 zur P 1 % 2 == 0 führt und somit den Wert True zurückgibt.
Das ist übrigens eine Musterlösung aus einem Online Kurs, die ich hier rein kopiert habe. Ich würde bei Funktionen auch nicht Unterstriche voran- oder nachstellen.
Und beim nächsten Mal achte ich darauf, dass die Einrückungen nicht verloren gehen... wie mir gerade auffällt.
VG
Re: Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Donnerstag 10. Januar 2019, 12:53
von noisefloor
Hallo,
da es noch keiner gesagt hat: 1
ist keine Primzahl.
Gruß, noisefloor
Re: Verständnisfrage zu Primzahlen-Berechnung
Verfasst: Freitag 11. Januar 2019, 21:43
von fabfreddy
@noisefloor: *lach* ... jetzt haben alle etwas dazugelernt
