我是编程和python的新手,希望能找到一个整数的素数。我已经阅读了一些实施Eratosthene筛子的方法,但大多数似乎有点过于参与(代码太多)。这是我的方法,我需要帮助的部分在#HELP评论下面:
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)
如何摆脱重复?
答案 0 :(得分:1)
回答你的直接问题:
for element in integer_list:
for each_integer in integer_list:
if (each_integer % element == 0) and (each_integer != element):
integer_list.remove(each_integer)
(我假设你的意思是fourth_element
为integer_list[3]
。)
但请注意,您现在在integer_list
上有 2 循环,在其中删除该列表中的元素,这可能会给您带来麻烦。