summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Demo/scripts/README2
-rwxr-xr-xDemo/scripts/primes.py30
2 files changed, 18 insertions, 14 deletions
diff --git a/Demo/scripts/README b/Demo/scripts/README
index 18f0de8..bf0f142 100644
--- a/Demo/scripts/README
+++ b/Demo/scripts/README
@@ -2,7 +2,7 @@ This directory contains a collection of executable Python scripts.
See also the Tools/scripts directory!
-beer.py Print the classic 'bottles of beer' list.
+beer.py Print the classic 'bottles of beer' list
eqfix.py Fix .py files to use the correct equality test operator
fact.py Factorize numbers
find-uname.py Search for Unicode characters using regexps
diff --git a/Demo/scripts/primes.py b/Demo/scripts/primes.py
index 0924aab..65da42e 100755
--- a/Demo/scripts/primes.py
+++ b/Demo/scripts/primes.py
@@ -2,26 +2,30 @@
# Print prime numbers in a given range
+def primes(min, max):
+ if 2 >= min:
+ print(2)
+ primes = [2]
+ i = 3
+ while i <= max:
+ for p in primes:
+ if i % p == 0 or p*p > i:
+ break
+ if i % p != 0:
+ primes.append(i)
+ if i >= min:
+ print(i)
+ i += 2
+
def main():
import sys
min, max = 2, 0x7fffffff
if sys.argv[1:]:
- min = int(eval(sys.argv[1]))
+ min = int(sys.argv[1])
if sys.argv[2:]:
- max = int(eval(sys.argv[2]))
+ max = int(sys.argv[2])
primes(min, max)
-def primes(min, max):
- if 2 >= min: print(2)
- primes = [2]
- i = 3
- while i <= max:
- for p in primes:
- if i%p == 0 or p*p > i: break
- if i%p != 0:
- primes.append(i)
- if i >= min: print(i)
- i = i+2
if __name__ == "__main__":
main()