Ein Primzahlprüfer (Multi Numbers) .py

Sep 23 2020

Dieser EINFACHE Code prüft also offensichtlich, ob die Zahl eine Primzahl ist oder nicht. Ich muss es fortschrittlicher, benutzerfreundlicher, weniger Zeilen oder Verbesserungen machen.

while True:
    lista = []
    try:
        num = int(input("Enter the amount of numbers: "))
        for i in range(0, num):
            value = int(input("Enter the numbers one by one: "))
            lista.append(value)
    except:
        print(''';-;
    Bruh, make sure you are entering numbers.''')
    for i in lista:
        if i <= 1:
            print("Duh,", i, "is not a primal number.")
            continue
        for j in range(2, i):
            if i % j == 0:
                print("Duh,", i, "is not a primal number.")
                break
        else:
            print("SMH,", i, "is a primal number obviously.")

Antworten

3 Marc-AndréBrochu Sep 23 2020 at 23:03

Die erste Verbesserung, die ich sehe, ist mathematisch: Um zu überprüfen, ob eine Zahl neine Primzahl ist, reicht es aus, um zu überprüfen, ob sie nicht durch eine Ganzzahl zwischen 2 und math.ceil(math.sqrt(n))( teilbar import matham Anfang Ihrer Datei) teilbar ist . Das wird Ihr Programm effizienter machen.

Eine weitere Verbesserung besteht darin, den Code, mit dem die Liste der Zahlen listavom Benutzer abgerufen wird, und den Code, der feststellt, ob eine einzelne Zahl eine Primzahl ist oder nicht, in zwei separate Funktionen aufzuteilen, die Sie von der Hauptschleife aus aufrufen while True. Dies erleichtert die Lesbarkeit und die Wiederverwendung von Code.

Eine dritte Verbesserung besteht darin, die Variable listain einen aussagekräftigeren Namen wie numbersoder candidatesoder etwas anderes umzubenennen .