Fehlerbehebung bei einem einfachen Primzahlengenerator in Python
Ihr Code ist für die Generierung von Primzahlen konzipiert, es treten jedoch Probleme auf und es wird nur die Anzahl ausgegeben Variable. Lassen Sie uns untersuchen, warum und eine Lösung anbieten.
Der folgende Code weist nachweislich Probleme auf:
import math def main(): count = 3 one = 1 while one == 1: for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: continue if count % x != 0: print(count) count += 1
Es gibt zwei Hauptprobleme:
Hier ist eine überarbeitete Version des Codes, in der diese Probleme behoben wurden:
import math def main(): count = 3 while True: is_prime = True for x in range(2, int(math.sqrt(count) + 1)): if count % x == 0: is_prime = False break if is_prime: print(count) count += 1
Dieser aktualisierte Code korrigiert die Logik, um sicherzustellen, dass nur Primzahlen gedruckt werden. Es prüft die Teilbarkeit mithilfe des Flags „is_prime“ und unterbricht die innere Schleife, wenn count durch einen beliebigen Wert von „x“ teilbar wird.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Python-Primzahlgenerator nur die Zählvariable aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!