Was mache ich da falsch das nummer 1 auch als Primzahl augegeben wird, obwohl es keine ist. Danke im voraus!!!
def primZahl(zahl):
for teiler in range(2, int(zahl/2)+1):
if zahl % teiler == 0:
return False
return True
zahl = int(input("Zahl eingeben: "))
if primZahl(zahl):
print("ist primzahl")
else:
print("ist nicht primzahl")
Anfänger probleme :-)
Die erste Frage ist, wie oft die for-Schleife bei unterschiedlichen Zahlen durchlaufen wird?
Die zweite Frage ist, welcher Teiler bei 1 % teiler denn 0 ergeben würde?
Und wenn Du diese zwei Fragen beantworten kannst, dann folgt die Frage, warum es für bestimmte Zahlen notwendig ist, eine Sonderbehandlung einzufügen?
Die zweite Frage ist, welcher Teiler bei 1 % teiler denn 0 ergeben würde?
Und wenn Du diese zwei Fragen beantworten kannst, dann folgt die Frage, warum es für bestimmte Zahlen notwendig ist, eine Sonderbehandlung einzufügen?
Das Programm gibt die Nr 1 auch als Primzahl, was ich nicht will, und ausser dem hab vor 3 Monaten mit Python angefangen, bin beim lernen.
Kann dir die Fragen nicht so beantworten sorry. Könntest du das Programm ausbessern damit ich sehe wo das Problem liegt, vielen vielen dank.
Kann dir die Fragen nicht so beantworten sorry. Könntest du das Programm ausbessern damit ich sehe wo das Problem liegt, vielen vielen dank.
Wie oft, kannst du entweder berechnen, oder per print innerhalb der for-Schleife einfach ausgeben lassen. Die zweite Frage ist eher mathematisch, lässt sich aber auch einfach mit Python berechnen. Und das dritte ist quasi schon die Antwort auf deine Frage und ganz einfach per if umsetzbar.
#########Gelöst#######Solved#####
def primZahl(zahl):
if zahl == 1:
return False
for teiler in range(2, int(zahl/2)+1):
if zahl % teiler == 0:
return False
return True
zahl = int(input("Bitte eine Zahl eingeben: "))
if primZahl(zahl):
print(" ist Primzahl")
else:
print("ist nicht Primzahl")
def primZahl(zahl):
if zahl == 1:
return False
for teiler in range(2, int(zahl/2)+1):
if zahl % teiler == 0:
return False
return True
zahl = int(input("Bitte eine Zahl eingeben: "))
if primZahl(zahl):
print(" ist Primzahl")
else:
print("ist nicht Primzahl")