Ich weiß, dass diese Frage viel zu oft gestellt wurde, aber ich bin nicht auf der Suche nach dem schnellsten Algorithmus. Ich möchte nur wissen, was ich mit meinem Code falsch mache, da er fehlerhaft ist.Python - überprüfen, ob es Primzahl ist
import math
def is_prime(number):
for i in range (2, 1+ int(math.sqrt(number))):
if number % i == 0:
return 0
else:
return 1
choice = int(input("Check if it's prime: "))
if is_prime(choice):
print ("{} is a prime number".format(choice))
else:
print ("{} is not a prime number".format(choice))
Wenn ich dieses Programm testen für die meisten Zahlen wird es richtige Antwort zurück, aber wenn ich eine Quadratzahl überprüfen wird es sagen, dass es ein gutes ist. Also irgendwelche Vorschläge, was ich falsch mache?
Ach ja, und ich weiß, ich habe nur den glücklichen Weg, wo ich nicht einmal Eingabe des Benutzers überprüfen haben, aber lasst uns Überspringe das vorerst und gehe davon aus, dass ich immer 'integer> = 2' gebe – narn