Python Primzahlen bestimmen

Neue Frage »

Auf diesen Beitrag antworten »
TheErebos Python Primzahlen bestimmen

Meine Frage:
Hey,

es tritt der Fehler:

file "Primes.py", line 10
break
^
SyntaxError: 'break' outside loop


auf, aber ich brauche den break um mit dem Vergleichen der laufenden Werte mit den Primzahlen aufzuhören, um Leistung zu sparen. Irgendwelche Ideen?





Meine Ideen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
#!/usr/bin/python
#Get primes

start=input("All primes bigger than : ");
stop=input("All primes smaller than: ");

def get_primes(start, stop):
    
    if start<=stop+1:
        break
    primes = [2];

    for n in range(3, stop, 2):
        for p in primes:
            if n % p == 0:
                break
            else:
                primes.append(n)
    while primes[0] <= start:
        del primes[0]

print(primes);
input();
 
Auf diesen Beitrag antworten »
as_string

1. Ich hab mal code-Tags um den Quelltext gemacht, was ja besonders wichtig ist bei Python, weil sonst die ganzen Einrückungen weg sind...
2. Er meckert wegen des ersten breaks, das ja tatsächlich in keiner Schleife ist. Welche Schleife soll er denn abbrechen, wenn Du gerade in keiner drin bist?
Falls Du dann erst gar nicht in die Schleife rein willst, warum sagst Du dann nicht: if-Bedingung so erfüllt, dass Du die Schleife ausführen willst, dann mache Schleife, sonst brauchst Du nichts machen. Dann hast Du auch kein break.
Falls Du eigentlich das Programm an der Stelle beenden willst, dann ist in Python das break wohl nicht die richtige Anweisung. Ich kenne mich mit Python nicht aus, aber wäre dann ein sys.exit() oder quit() oder so nicht das, was Du eigentlich willst?

Gruß
Marco
Auf diesen Beitrag antworten »
TheErebos

Danke Augenzwinkern

Hatte die den falschen break im Kopf. Einfach mit einem return(); beendet.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »