Exercises

Exercise 12:

Reconnaissance des nombres premiers en Python

Écrivez un programme en Python qui reçoit un nombre naturel en entrée et détermine s'il s'agit d'un nombre premier ou d'un nombre composé.

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")

Exécution:
    ================= 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
>>>

Version professionnelle du programme

Écrivez un programme en Python qui reçoit en continu des nombres naturels en entrée et détermine si chacun est un nombre premier ou un nombre composé. Si l'entrée est inférieure à 1, le programme sera terminé.


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")


Exécution:
    =========== 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
>>>