Rogério Brito:
> Hi, All.
>
> I'm just getting my feet wet on Python and, just for starters, I'm coding some
> elementary number theory algorithms (yes, I know that most of them are already
> implemented as modules, but this is an exercise in learning the language 
> idioms).
>
> As you can see from the code below, my background is in C, without too much
> sophistication.
>
> What I would like is to receive some criticism to my code to make it more
> Python'esque and, possibly, use the resources of the computer in a more
> efficient way (the algorithm implemented below is the Sieve of Eratosthenes):
>

my variant of the sieve

def GetPrimes(N):
    arr = []
    for i in range(1,N+1):
        arr.append(i)
    #Set first item to 0, because 1 is not a prime
    arr[0]=0
    #sieve processing
    s=2
    while s < math.sqrt(N):
        if arr[s-1] != 0:
            j = s*s
            while j <= N:
                arr[j-1] = 0
                j += s
        s += 1
    return [x for x in arr if x != 0]
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to