寻找素数的错误代码
def is_prime(n):
for j in range(2, n):
if n % j == 0: # 这里的if——else语句不能达到找到素数的目的,以45为例,45 % 2 != 0,所以该函数就把45当成素数了
return False
else:
return True
寻找素数的正确代码
def is_prime(n):
for j in range(2, n): # 只要有一个j使得n % j = 0,那么就会放回False。
if n % j == 0:
return False
return True # 只要上面for循环结束后,都没有返回False,该函数才确定这个数为素数
举一个具体例子
def is_prime(n):
for j in range(2, n):
if n % j == 0:
return False
return True
prime = [] #统计素数的列表
ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141]
for i in ls.copy():
if is_prime(i) == True:
prime.append(i)
ls.remove(i)
print(len(ls))