[Patches] [ python-Patches-870286 ] make Demo/scripts/primes.py
usable as a module
SourceForge.net
noreply at sourceforge.net
Sun Jan 11 18:44:15 EST 2004
Patches item #870286, was opened at 2004-01-04 04:18
Message generated for change (Comment added) made by rhettinger
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=870286&group_id=5470
Category: Demos and tools
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Gerrit Holl (gerrit)
Assigned to: Nobody/Anonymous (nobody)
Summary: make Demo/scripts/primes.py usable as a module
Initial Comment:
I wanted to find all primes between 1985 and 2005, and
found out that Demo/scripts/primes.py is not usable as
a module, because it unconditionally executes main().
This patch adds a 'if __name__ == "__main__"' block
around the execution of the main() function, so that
one can simply import primes and use
primes.primes(1985, 2005) in order to achieve what I
wanted to achieve.
----------------------------------------------------------------------
>Comment By: Raymond Hettinger (rhettinger)
Date: 2004-01-11 18:44
Message:
Logged In: YES
user_id=80475
If you're going to improve this one, consider going all the way.
* Modernize the code -- the current version reads like Cobol
* Stop building the sieve after sqrt(MAX) entries have been
found. Possibly use islice() to check only the relevant
entries in the primes table.
* Change the API to: prime x [n] which finds the first n
(default 1) primes larger than x. prime(10,3) --> [11, 13, 17]
* If x is large, switch to a modern primality testing
algorithm so that arbitrarily large primes can be found
(perhaps for RSA purposes or some such).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=870286&group_id=5470
More information about the Patches
mailing list