Warum gibt mein Python-Primzahlgenerator nur die Zählvariable aus?

Patricia Arquette
Freigeben: 2024-11-10 21:56:02
Original
799 Leute haben es durchsucht

Why is my Python prime number generator only printing the count variable?

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
Nach dem Login kopieren

Es gibt zwei Hauptprobleme:

  1. Sie liegen falsch Drucken der Zahl als Primzahl, wenn sie durch „x“ teilbar ist. Sie sollten die Teilbarkeit prüfen und nicht die Umkehrung.
  2. Anstatt die innere Schleife zu unterbrechen, wenn die Anzahl durch „x“ teilbar wird, fahren Sie mit der nächsten Iteration fort, was zu einer ungenauen Primzahlbestimmung führen wird.

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage