Exercises

Exercise 12:

Recognition of Prime Numbers in Python

Write a program in Python which receives a natural number as input and determines whether it is a prime number or a composite number.

Code:
n = int(input("n = "))
if n<1:
    print("Error: n has to be a natural number")
else:
    counter = 0
    for i in range(1, int(n**0.5+1)):
        if n%i==0:
            counter +=1

    if counter == 1:
        print(n, "is a prime number")
    else:
        print(n, "is a composite number")

Run:
    ================= RESTART: C:\Prime Numbers.py ================
    n = 5
    5 is a prime number
>>>
    ================= RESTART: C:\Prime Numbers.py ================
    n = 97
    97 is a prime number
>>>
    ================= RESTART: C:\Prime Numbers.py ================
    n = 15
    15 is a composite number
>>>
    ================= RESTART: C:\Prime Numbers.py ================
    n = 1
    1 is a prime number
>>>

Professional Version of the Program

Write a program in Python which continuously receives natural numbers as input and determines whether each one is a prime number or a composite number. If the input is less than 1, the program will be terminated.


Code:
print("To exit the program => n = exit \n")
while True:
    n = input("n = ")
    n = n.lower()
    if n=="exit":
        break
    else:
        try:
            n = int(n)
            if n<1:
                print("Error: n has to be a natural number \n")
            else:
                counter = 0
                for i in range(1, int(n**0.5+1)):
                    if n%i==0:
                        counter +=1

                if counter == 1:
                    print(n, "is a prime number \n")
                else:
                    print(n, "is a composite number \n")
        except:
            print("Error: n has to be a positive integer \n")


Run:
    =========== RESTART: C:\Prime Number Recognition.py ===========
    To exit the program => n = exit 

    n = 7
    7 is a prime number 

    n = 13
    13 is a prime number 

    n = 93
    93 is a composite number 

    n = 113
    113 is a prime number 

    n = -8
    Error: n has to be a natural number 

    n = exit
>>>