SimplePrograms challenge
Steve Howell
showell30 at yahoo.com
Tue Jun 12 19:11:47 EDT 2007
--- Steven Bethard <steven.bethard at gmail.com> wrote:
> Steve Howell wrote:
> > --- George Sakkis <george.sakkis at gmail.com> wrote:
> >> from itertools import count, ifilter
> >> def sieve():
> >> seq = count(2)
> >> while True:
> >> p = seq.next()
> >> seq = ifilter(p.__rmod__, seq)
> >> yield p
> [snip]
> > Is there a way to broaden the problem somehow, so
> that
> > it can be a longer solution and further down on
> the
> > page, and so that I can continue to enforce my
> > somewhat arbitrary rule of ordering examples by
> how
> > long they are?
>
> How about we just comment it better?
>
> import itertools
>
> def iter_primes():
> # an iterator of all numbers between 2 and
> +infinity
> numbers = itertools.count(2)
>
> # generate primes forever
> while True
>
> # generate the first number from the
> iterator,
> # which should always be a prime
> prime = numbers.next()
> yield prime
>
> # lazily remove all numbers from the
> iterator that
> # are divisible by prime we just selected
> numbers = itertools.ifilter(prime.__rmod__,
> numbers)
>
> I think that's 17-ish, though you could shrink it
> down by removing some
> of the spaces.
No, that's perfect. Do you want me to post it, or do
you want the honors?
____________________________________________________________________________________
Bored stiff? Loosen up...
Download and play hundreds of games for free on Yahoo! Games.
http://games.yahoo.com/games/front
More information about the Python-list
mailing list