From 4271ecaf72f53e5bd4be964609ecddb9b95825ed Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 11 Oct 2009 08:48:28 +0000 Subject: [PATCH] Update primes script. --- Demo/scripts/README | 2 +- Demo/scripts/primes.py | 31 +++++++++++++++++-------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/Demo/scripts/README b/Demo/scripts/README index 8e1b26f42f..434c09b3d0 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 5935a3c84a..eeb14eec47 100755 --- a/Demo/scripts/primes.py +++ b/Demo/scripts/primes.py @@ -2,26 +2,29 @@ # Print prime numbers in a given range -def main(): - import sys - min, max = 2, 0x7fffffff - if sys.argv[1:]: - min = int(eval(sys.argv[1])) - if sys.argv[2:]: - max = int(eval(sys.argv[2])) - primes(min, max) - def primes(min, max): - if 2 >= min: print 2 + 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: + 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 i >= min: + print i + i += 2 + +def main(): + import sys + min, max = 2, 0x7fffffff + if sys.argv[1:]: + min = int(sys.argv[1]) + if sys.argv[2:]: + max = int(sys.argv[2]) + primes(min, max) if __name__ == "__main__": main() -- 2.40.0