Search code examples
pythonprimes

Prime or composite calculator errors when I enter a composite number


num = int(input("Enter A NUMBER: "))

def primeornot():
  for i in range(2, num//2):
    if (num % i) == 0:
      print(num, "is not a prime number")
    elif (num % i) != 0:
      print("Its prime!")
    
primeornot()

Try entering a composite number, such as 55, it will print many results. It will say that it is not prime, and then say that it is prime.


Solution

  • Use break if it satisfies if condition and else block if it is prime

    num = int(input("Enter A NUMBER: "))
    
    def primeornot():
      for i in range(2, num//2):
        if (num % i) == 0:
          print(num, "is not a prime number")
          break
      else:
          print("Its prime!")
        
    primeornot()