Trace it. x
starts with 2
, then tests 999 % 2
; it is 1
, so else
is executed, "Prime number!" is printed, and loop is broken out of. Program ends.
Instead, you need to print "Prime number!" only when you tested all possibilities for x
. The easiest way to do that is to unindent else:
(and delete break
there):
for x in prime_range:
if nnumber % x == 0:
print 'Not a Prime Number!'
break
else:
print 'Prime Number!'
Python executes else
of a for
when for
completes withoout being broken: exactly what you want.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…