File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -73,15 +73,15 @@ def isPrime(number):
73
73
74
74
# 0 and 1 are none primes.
75
75
if number <= 1 :
76
- status = False
77
-
78
- for divisor in range (2 ,int (round (math .sqrt (number )))+ 1 ):
76
+ return False
77
+
78
+ # all even numbers except of 2 are no primes.
79
+ if number % 2 == 0 and number > 2 :
80
+ return False
79
81
80
- # if 'number' divisible by 'divisor' then sets 'status'
81
- # of false and break up the loop.
82
- if number % divisor == 0 :
83
- status = False
84
- break
82
+ # if 'number' divisible by 'divisor' then sets 'status' to false.
83
+ # lazy evaluation breaks the all loop on first false.
84
+ status = all (number % divisor for divisor in range (3 , int (math .sqrt (number )) + 1 , 2 ))
85
85
86
86
# precondition
87
87
assert isinstance (status ,bool ), "'status' must been from type bool"
You can’t perform that action at this time.
0 commit comments