lundi 13 juin 2016

Implementing the Algorithm for Erastosthenes Sieve


I'm new to programming and python and would like some help with finding the primality of an integer. I've read some approaches to implementing Eratosthene's sieve but most seem a bit too involved (too much code). Here is my approach and the part where I need help is below the #HELP comment:

def prime_number(an_integer):
    if (an_integer <= 1):
        return False
    else:
        integer_list = list(range(2, an_integer +1))

        #HELP
        first_element = integer_list[0]
        for each_integer in integer_list:
            if (each_integer % first_element == 0) and (each_integer != first_element):
                integer_list.remove(each_integer)

        second_element = integer_list[1]
        for each_integer in integer_list:
            if (each_integer % second_element == 0) and (each_integer != second_element):
                integer_list.remove(each_integer)

        third_element = integer_list[2]
        for each_integer in integer_list:
            if (each_integer % third_element == 0) and (each_integer != third_element):
                integer_list.remove(each_integer)

        fourth_element = integer_list[0]
        for each_integer in integer_list:
            if (each_integer % fourth_element == 0) and (each_integer != fourth_element):
                integer_list.remove(each_integer)


        print (integer_list)

How do I get rid of the repetition?


Aucun commentaire:

Enregistrer un commentaire