def prime_finder(n):
prime =
for i in range(2,n+1):
if len(prime) == 0:
prime.append(i)
else:
count = 0
for j in prime:
if i%j != 0:
count+=1
else:
count-=1
if count == len(prime):
prime.append(i)
return prime
print(prime_finder(11))
def prime_finder(n):
prime =
for i in range(2,n+1):
if len(prime) == 0:
prime.append(i)
else:
count = 0
for j in prime:
if i%j != 0:
count+=1
else:
count-=1
if count == len(prime):
prime.append(i)
return prime
print(prime_finder(11))
def prime_finder(n):
# Write your code here
res = []
IsPrime = [True] * (n + 1)
IsPrime[0] = False
IsPrime[1] = False
d = 2
while d * d <= n:
if IsPrime[d]:
for i in range(d * d, n + 1, d):
IsPrime[i] = False
d += 1
for i in range(n + 1):
if IsPrime[i]:
res.append(i)
return res
print(prime_finder(13))
for this solution you have to make use of the uncommon for/else statement. if you just do a regular if/else statement within the inner loop you will get duplicate prime numbers in your list
Here a nice oneliner solution for those of you who are a bit more advanced:
prime_finder = lambda n: [i for i in range(2, n + 1) if 0 not in [i % j for j in range(2, i)]]
def prime_finder(n:int):
return [i for i in range(2, n+1) if all([i % j != 0 for j in range(2, i)])]
def prime_finder(n):
list =
for number in range(1,n+1):
if number>1:
for prime in range(2,number):
if number%prime == 0:
break
else:
list.append(number)
return list
print(prime_finder(11))
Hi! So my solution is as follows:
def prime_finder(n):
# Initiate empty list
primes = []
# Looping through numbers smaller than n
for i in range(2,n+1):
isprime = True
# Checking if i is a prime
for k in range(2,i):
if i % k == 0:
isprime = False
break
# if it's a prime, add to the list
if isprime:
primes.append(i)
return primes
def prime_finder(n):
# Write your code here
l = []
for i in range(2,n+1):
if (i==2 or i==3 or i==5 or i==7):
l.append(i)
elif i%2 != 0 and i%3 != 0 and i%5 !=0 and i%7 != 0:
l.append(i)
return l
#print(prime_finder(100))
def prime_finder(n):
prime_numbers_before_n = list(range(2,n+1))
for i in range(1,n+1):
for j in range(1,n+1):
if i % j == 0 and j != 1 and i != j:
prime_numbers_before_n.remove(i)
break
return prime_numbers_before_n
print(prime_finder(11))
def prime_finder(n):
i = 0
num_list =
prime_list =
non_prime_list =
for num in range(1, n+1):
num_list.append(num)
for item in num_list:
position = num_list.index(item)
# preceeding_num = num_list[position-1]
preceeding_num_list = num_list[1:position]
if position==0:
pass
else:
for num in preceeding_num_list:
if item%num==0:
if item in non_prime_list:
pass
else:
non_prime_list.append(item)
num_list.remove(1)
for number in num_list:
if number in non_prime_list:
pass
else:
prime_list.append(number)
return(prime_list)
print(prime_finder(11))
#This was my solution for the prime number finder. What do you guys think? Constructive criticisms are welcomed. Have a nice day!
This is my solution. Any feedback is welcome. Thank you guys! Have a nice day!