2016-10-13 6 views
2
primes=[] 
for i in range(3,6): 
    is_prime=True 
    for j in range(2,i): 
     if i%j ==0: 
      is_prime=False 
    if is_prime=True: 
     primes= primes + [i] 

primes 

Der Code scheint mir logisch, aber ich halte einen Syntaxfehler im zweiten Satz if is_prime=True bekommen.Python (jupyter) für Primzahlen

Antwort

2

= ist der Zuweisungsoperator. Für Gleichheit überprüft, sollten Sie den == Operator verwenden:

if is_prime == True: 

Oder noch besser, da is_prime ein boolescher Ausdruck in seinem eigenen Recht, bewerten es einfach:

if is_prime: 
+1

Wow, danke! Neu im Computing und das ist völlig vorbei. Mein Code funktioniert jetzt. – vluos