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