Python Challenge - Prime Number Finder

Hello.
For me all() function was very helpful :slight_smile:

def prime_finder(n): # Write your code here prime_list = [] for num in range(2, n+1): if all(num % i != 0 for i in range(2, num)): prime_list.append(num) return prime_list print(prime_finder(11))
def prime_finder(n): # Write your code here primeList = [] for i in range(n+1): if i > 1: prime = True for r in range(2,i): if (i % r) == 0: prime = False if prime: primeList.append(i) i += 1 return primeList print(prime_finder(11))
def prime_finder(n): if n < 2: return "Any number less than 2 cannot be a prime number." else: prime_list = [2] for num in range(3, n + 1): for i in range(2, num): if num % i == 0: break else: prime_list.append(num) return prime_list print(prime_finder(13))

def is_prime(n):
for y in range(n):
if y>1 and n%y ==0:
return False
return True
def prime_finder(n):
result =
for x in range(n+1):
if x ==0:
pass
elif x == 1:
pass
elif is_prime(x):
result.append(x)
return result;
print(prime_finder(11))

Its enough to check if the number is divisible with any prime number before it.

def prime_finder(n): if n <= 1: return [] if n == 2: return [2] primes = [2] for number in range(3, n+1): if not isDivisible(number, primes): primes.append(number) return primes def isDivisible(number, primes): for prime in primes: if number % prime == 0: return True return False print(prime_finder(1001))

More explicitly, any prime less than or equal to the square root of N. For instance, 9 is not prime because it is divisible by 3. 25 is not prime because it is divisible by 5, and so on.

1 Like

Thought this was an alright solution.

def prime_finder(n): primes = [] for num in range(2, n+1): try: for i in range(2, int(num/2)): if num%i == 0: raise ValueError except ValueError: continue primes.append(num) return primes print(prime_finder(11))

def prime_finder(n):
primes =
for num in range(2, n+1):
try:
for i in range(2, int(num/2)):
if num%i == 0:
raise ValueError
except ValueError:
continue
primes.append(num)
return primes
print(prime_finder(11))

#-- Number divisble by itself or 1
def prime_finder(n):
  mylist =[]
  for i in range(2,n+1):
    for j in mylist:
      if i % j==0:
        break
    else:
      mylist.append(i)
    
  return mylist
print(prime_finder(11))  
def prime_finder(n): # Write your code here prime_numbers = [] for a in range(2, n+1): check = True for i in range(2, a): if a % i == 0: check = False break if check: prime_numbers.append(a) return prime_numbers print(prime_finder(11))

ez dub

import numpy as np
def is_prime(number):
  list_prime = []
  for i in range(1, number):
    if number % i == 0:
      list_prime.append(i) 
  return len(list_prime) == 1

def prime_finder(n):
 # Write your code here
  list_prime = []
  for i in range(1, n + 1):
    if is_prime(i):
      list_prime.append(i) 
  return list_prime

print(prime_finder(11))

I think this way is clearer and more accurate.
Please correct me if i’m wrong.

def prime_finder(n): collector = [] for num in range(2,n+1): for i in range(2,num): if (num%i==0): break else: collector.append(num) return collector print(prime_finder(11))
1 Like

I’ve crushed my head for this! :grin:

def prime_finder(n): def prime_number (number): """a function that indentifies a prime. If the number is a prime, return True""" for numbers in range(2,number): if number%numbers == 0: return False return True list=[ ] #iteration through the range 2 to the given number (n) # uses the function prime_number to identify primes, and append to the list if met the condition. for num in range (2,n+1): if prime_number(num): list.append(num) return list
def prime_finder(n):
  # Write your code here
  prime_number = []
  for num in range(1, n + 1):
    if num > 1 :
       for i in range(2, num):
           if (num % i) == 0:
             break
       else:
         prime_number.append(num)
  return prime_number
print(prime_finder(11))
def prime_finder(n):
  primes = []
  for x in range(n, 0, -1):
    count = 0
    for y in range(x, 0, -1):
      if (0 == x % y): count += 1
      if count > 2: break
    if count == 2: primes.insert(0,x) 
  return primes
 
print(prime_finder(11))
def prime_finder(n): # Write your code here prime = [2] for num in range(1, n+1): i = 0 for d in range(2, num): if num % d == 0: i = 0 break else: i += 1 if i != 0: prime.append(num) return prime print(prime_finder(11))

This one’s a bit messy lol

def prime_finder(n): # Write your code here k = [] for i in range(n): j = i+1 m = [] for n in range(j): o = n+1 if j % o == 0: m.append(o) if len(m) == 2: k.append(j) return k print(prime_finder(69))
def prime_finder(n):
  prime = []
  for a in range(2, n+1):
    if 0 not in [a%b for b in range(2, a)]:
        prime.append(a)
  return prime

print(prime_finder(11))
prime_list = [] def prime_finder(n): if n > 1: num_list = [] for i in range(n+1): num_list.append(i) # print(num_list) for item in num_list: if prime_cal(item): prime_list.append(item) prime_list.remove(0) prime_list.remove(1) return prime_list def prime_cal(num): # print('Testing',str(num)) for i2 in range(2, num): if num % i2 == 0: # print(str(num)+' is not prime.') return False return True print(prime_finder(11))

May I know why I couldn’t pass the test…

def prime_finder(n): # Write your code here isprime = [] prime = range(2,n+1) for i in prime: if i/2 == 1 or i/3 == 1 or i/5 == 1 or i/7 == 1: isprime.append(i) elif i%2 != 0 and i%3 != 0 and i%5 != 0 and i%7 != 0: isprime.append(i) return isprime print(prime_finder(11))