diff options
Diffstat (limited to 'Demo/scripts')
-rw-r--r-- | Demo/scripts/README | 2 | ||||
-rwxr-xr-x | Demo/scripts/primes.py | 30 |
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() |