Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> writes: > http://code.activestate.com/recipes/577821-integer-square-root-function/
The methods there are more "mathematical" but probably slower than what I posted. Just for laughs, this prints the first 20 primes using Python 3's "yield from": import itertools def sieve(ps): p = ps.__next__() yield p yield from sieve(a for a in ps if a % p != 0) primes = sieve(itertools.count(2)) print(list(itertools.islice(primes,20))) It's not that practical above a few hundred primes, probably. -- https://mail.python.org/mailman/listinfo/python-list