0% ont trouvé ce document utile (0 vote)
1K vues39 pages

Exercice Python

Transféré par

Djamel-Eddine Bouadimi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1K vues39 pages

Exercice Python

Transféré par

Djamel-Eddine Bouadimi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercice python

Exercice 1

Écrire un programme Python qui permet d’afficher le


message Bonjour.
Réponse

print("Bonjour")

Exercice 2
Écrire un programme Python permettant de saisir deux
nombres et d'afficher leur produit.
Réponse
m = float(input(" Entrer un nombre:"))
n = float(input(" Entrer un nombre:"))
p = m*n
print("le produit de",m,"et",n,"=",p)

Exercice 3
Écrire un programme Python qui permet d'échanger le
contenu de deux entiers A et B saisis par l'utilisateur. et
afficher ces entiers après l’échange.
Réponse
m = int(input(" Entrer un Entier m :"))
n = int(input(" Entrer un Entrer n :"))
print("Avant l'echange: m =",m,"et n =",n)
m,n = n,m
print("Apres l'echange: m =",m,"et n =",n)

Exercice 4
Exercice python
Écrire un un programme Python qui permet d'afficher si
un nombre entier saisi au clavier est pair ou impair.

Réponse
N = int(input("Entrer un Entier :"))
if N%2==0 :
print(N,"est pair")
else :
print(N,"est impair")

Exercice 5
Écrire un programme Python qui permet d'afficher le plus grand de trois
entiers saisis au clavier.
Réponse

A = int(input("Entrer un Entier A :"))


B = int(input("Entrer un Entier B :"))
C = int(input("Entrer un Entier C :"))
Max = A
if B >= Max : Max = B
if C >= Max : Max = C
print("Le maximum est ",Max)

Exercice 6
Écrire un programme Python qui permet d'évaluer une note saisi au clavier
(si la note est supérieur à 10 alors il affiche validé sinon non validé (NB : la
note comprise entre 0 et 20 ).

Réponse

note = float(input("Entrer la note:"))


if note <= 20 and note >= 10 :
print("Validé ")
elif note < 10 and note >= 0 :
print("non Validé ")
Exercice python
else:
print("La note incorrecte !!! ")

Exercice 7
Écrire un programme Python qui demande deux nombres m et n à
l’utilisateur et l’informe ensuite si le produit de ces deux nombres est positif ou
négatif. On inclut dans le programme le cas où le produit peut être nul.
Réponse
A = float(input("Entrer un Entier A:"))
B = float(input("Entrer un Entier B:"))
if A*B < 0 :
print("Le produit de",A,"et",B,"est négatif")
elif A*B > 0:
print("Le produit de",A,"et",B,"est positif")
else :
print("Le produit de",A,"et",B,"est nul ")

Exercice 8

Écrire un programme Python qui permet de calculer la valeur absolue d'un


entier saisi par l'utilisateur.
Réponse
A = float(input("Entrer un nombre :"))
if A < 0 :
print("La valeur absolue de",A,"est",-A)
else :
print("La valeur absolue de",A,"est",A)

Exercice 9

Écrire un programme Python qui permet de calculer la moyenne de trois


entiers saisis par l'utilisateur.
Réponse
A = int(input("Entrer un Entier A :"))
B = int(input("Entrer un Entier B :"))
C = int(input("Entrer un Entier C :"))
Exercice python
Moyenne = (A+B+C)/3
print("La Moyenne est ",Moyenne)

Exercice 10

Une boutique propose à ces clients, une réduction de 15% pour les montants
d’achat supérieurs à 200 dh. Écrire un programme Python permettant de
saisir le prix total HT et de calculer le montant TTC en prenant en compte la
réduction et la TVA=20%.

Réponse
Prix_HT = float(input("Entrer le montant HT:"))
Prix_TTC = Prix_HT + Prix_HT*0.2
if Prix_TTC > 200 :
Prix_TTC = Prix_TTC - Prix_TTC*0.15
print("le montant TTC est: ",Prix_TTC)
else:
print("le montant TTC est: ",Prix_TTC)

Exercice 11

Le centre de photocopie facture 0,25 DH pour les 10 premières photocopies,


0,20 DH les vingt suivantes et 0,10 DH pour plus de vingt. Ecrire un
programme Python qui demande à l’utilisateur de saisir le nombre de
photocopies effectuées et qui affiche la facture correspondante.
Réponse
Nb_copies = int(input("Entrer le nombre de copies :"))

if Nb_copies >20 :
prix = Nb_copies *0.10
if Nb_copies <=20 and Nb_copies > 10 : prix = Nb_copies *0.20
if Nb_copies <=10 and Nb_copies > 0 : prix = Nb_copies *0.25
print("Le prix total est: ",prix," Dh")
Exercice python
Exercice 12
Écrire un programme Python qui demande l'âge d'un enfant et permet
d'informer de sa catégorie sachant que les catégories sont les suivantes:
"poussin de 6 a 7 ans"
"pupille de 8 a 9 ans "
"minime de 10 a 11 ans "
" cadet après 12 ans ".
Réponse
age = float(input("Entrer votre age :"))
if age >=12 :
print("Vous etes cadet")
elif age >=10 and age <=11 :
print("Vous etes minime")
elif age >=8 and age <=9 :
print("Vous etes pupille")
elif age >=6 and age <=7 :
print("Vous etes poussin")
else:
print("votre age inférieur à 6 ans")

Exercice 13
Écrire un programme Python permettant d’afficher le mois en lettre selon le
numéro saisi au clavier. ( Si l’utilisateur tape 1 le programme affiche janvier,
si 2 affiche février , si 3 affiche mars... )

Réponse
mois = int(input("Entrer le Mois :"))
if mois == 1 :
print("Janvier")
elif mois == 2 :
print("février")
elif mois == 3 :
print("Mars")
elif mois == 4 :
print("Avril")
elif mois == 5 :
print("Mai")
elif mois == 6 :
Exercice python
print("Juin")
elif mois == 7 :
print("Juille")
elif mois == 8 :
print("Aout")
elif mois == 9 :
print("Septembre")
elif mois == 10 :
print("Octobre")
elif mois == 11 :
print("Novembre")
elif mois == 12 :
print("décembre")
else:
print("Le mois incorret !!!!")

Exercice 14
Écrire un programme Python qui permet d'afficher le message "Bonsoir"
10 fois. Utilisant la boucle while.
Réponse
i=1;
while i <= 10:
print("Bonsoir")
i=i+1

Exercice 15
Écrire un programme Python permettant de calculer la somme S= 1+2+3+...+
10. Utilisant la boucle while.

Réponse
i=1
S=0
while i <= 10 :
S=S+i
i=i+1
print("La somme de 1 à 10 est:",S)
Exercice python
Exercice 16
Écrire un programme Python permettant de calculer la somme S=1+2+3+...+
N, où N saisi par l’utilisateur. Utilisant la boucle while.

Réponse

i=1
S=0
N = int(input("Donner un entier:"))
while i <= N :
S=S+i
i=i+1
print("La somme de 1 à ",N," est:",S)

Exercice 17
Écrire un programme Python qui permet d'afficher le message "bonjour" 10
fois . Utilisant la boucle for.

Réponse
for i in range(10) :
print("Bonjour")

Exercice 18
Écrire un programme Python qui permet de calculer la somme S=1+2+3+...+
10. Utilisant la boucle for.

Réponse

S=0
for i in range(1,11):
S=S+i
print("La somme de 1 à 10 est:",S)
Exercice python
Exercice 19
Écrire un programme Python qui permet de calculer la somme S=1+2+3+4+
….+ N. où N saisi au clavier par l'[Link] la boucle for.

Réponse

S=0
n=int(input("Donner un entier :"))
for i in range (1,n+1):
S=S+i
print("La somme des nombres entre",1,"et",n,"=",S)

Exercice 20
Écrire un programme Python qui permet d'afficher la table de multiplication
de 5. Utilisant la boucle For.

Réponse

for i in range (1,11):


print("5 *",i,"=",i*5)

Exercice 21
Écrire un programme Python qui permet d'afficher la table de multiplication
d’un entier saisie par l’utilisateur, Utilisant la boucle for.

Réponse

n=int(input("Donner un entier :"))


for i in range (1,11):
print(n," * ",i,"=",i*n)
Exercice 22
Écrivez un programme Python, entrez deux nombres de l'utilisateur et trouvez
le plus grand diviseur commun en utilisant la boucle for.
Réponse

num1 = int(input("Saisir nombre 1 : "))


num2 = int(input("Saisir nombre 2 : "))
Exercice python
min = num1 if (num1 < num2) else num2

for i in range(1, min+1):


if (num1 % i == 0 and num2 % i == 0):
pgcd = i
print("PGCD de {0} et {1} = {2}".format(num1, num2, pgcd))

Exercice 23
Écrivez un programme Python pour entrer un nombre et vérifiez si le nombre
est parfait ou non.
Un nombre parfait est un entier positif qui est égal à la somme de ses diviseurs
positifs appropriés.
Par exemple: 6 est le premier nombre parfait
Les diviseurs appropriés de 6 sont 1, 2, 3.
Somme de ses diviseurs stricts = 1 + 2 + 3 = 6.
Par conséquent, 6 est un nombre parfait.

Réponse

num = int(input("Saisir un nombre : "))


somme = 0
for i in range(1, num):
if (num % i == 0):
somme += i

if (somme == num):
print(num, "est un nombre parfait")
else:
print(num, "n'est pas un nombre parfait")

Exercice 24
Écrivez un programme Python pour saisir un nombre et calculer
sa factorielle à l'aide de la boucle for.
La factorielle d'un nombre "n" est le produit de tous les entiers positifs
inférieurs ou égaux à n. Il est noté n!.
Par exemple, factorielle de 5!= 1*2*3*4*5= 120
Réponse

num = int(input("Saisir un nombre : "))


Exercice python
estPremier = True
for i in range(2, num // 2 + 1):
if (num % i == 0):
estPremier = False
break
if (estPremier == 1):
print(num, " est premier")
else:
print(num, " n'est pas premier")

Exercice 25
Écrivez un programme Python pour afficher tous les nombres impairs de 1 à n
en utilisant la boucle for et while.

Réponse

n = int(input("Saisir un nombre : "))


print("les nombres impairs de 1 à {0} ".format(n))
for i in range(1, n+1):
if (i % 2 != 0):
print(i)

Exercice 26
Écrivez un programme Python pour entrer un nombre de l'utilisateur et
comptez le nombre de chiffres dans l'entier donné en utilisant une boucle.
Réponse

num = int(input("Saisir un nombre : "))


compteur = 0
while (num != 0):
compteur += 1
num //= 10
print("Nombre de chiffres : ",compteur)

Exercice 27
Écrivez un programme Python pour saisir un nombre de l'utilisateur et
recherchez le premier et le dernier chiffre d'un nombre en utilisant une
boucle.
Répons
n = int(input("Saisir un nombre : "))
dernier = n % 10
Exercice python
premier = n
while(premier >= 10):
premier = premier //10
print("Premier chiffre = ", premier)
print("Dernier chiffre = ", dernier)

Exercice 28
Écrire un programme Python qui permet d'inverser les chiffres d'un entier N
saisi par l'utilisateur. par exemple N=35672 le résultat affiché doit être
27653

Réponse
n=int(input("donner un entier : "))
r=0
while(n>0):
r = r * 10
r = r+ n%10
n = int( n/10)
print(r)
Exercice 29
Écrivez un programme Python pour saisir un nombre et calculer la somme de
ses chiffres en utilisant la boucle for.

Réponse
num = int(input("Saisir un nombre : "))
somme = 0
while (num != 0):
somme += num % 10
num = num // 10
print("Somme de chiffres = ", somme)

Exercice 30
Écrivez un programme Python pour saisir le numéro de l'utilisateur et vérifiez
que le numéro est palindrome ou non, en utilisant une boucle.
Réponse
n = int(input("Saisir un nombre : "))
num = n
inverse = 0
while(n != 0):
inverse = (inverse * 10) + (n % 10)
n //= 10
if(inverse == num):
print(num, " est palindrome.")
Exercice python
else:
print(num, " n'est pas palindrome.")

Exercice 31
Écrivez un programme Python pour déclarer et initialiser un tableau, puis
saisissez ses éléments à partir de l'utilisateur et affichez le tableau.
Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N;
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
for i in range(N):
print(tab[i])

Exercice 32
Écrivez un programme Python pour déclarer un tableau, puis saisissez ses
éléments par l'utilisateur et affichez tous les éléments négatifs.

Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N;
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
print("Les éléments négatifs du tableau sont : ")
for i in range(N):
if (tab[i] < 0):
print(tab[i])

Exercice 33
Écrire un programme Python pour déclarer un tableau, puis saisir ses
éléments à partir de l'utilisateur et trouver la somme des éléments du tableau
Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N;
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
somme=0
for i in range(N):
somme = somme + tab[i]
print("Somme de tous les éléments du tableau = ",somme)
Exercice python
Exercice 34
Écrire un programme Python pour déclarer un tableau, puis saisir ses
éléments à partir de l'utilisateur et rechercher les éléments maximum et
minimum dans le tableau.

Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
max = tab[0]
min = tab[0]
somme=0
for i in range(N):
if (tab[i] > max):
max = tab[i]
if (tab[i] < min):
min = tab[i]
print("le maximum est ",max)
print("le minimum est ",min)

Exercice 35
Écrivez un programme Python pour déclarer un tableau, puis saisissez ses
éléments à partir de l'utilisateur et recherchez l'élément le plus grand et le
deuxième dans ce tableau.

Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
max1 = max2 = tab[0]
for i in range(N):
if (tab[i] > max1):
max2 = max1
max1 = tab[i]
elif (tab[i] > max2 and tab[i] < max1):
max2 = tab[i]
print("Premier plus grand = " , max1)
print("Deuxième plus grand =" , max2)
Exercice python
Exercice 36
Écrivez un programme Python pour déclarer un tableau, puis saisissez ses
éléments à partir de l'utilisateur et comptez le nombre d'éléments pairs et
impairs dans ce tableau.
Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*N
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
pair = 0
impair = 0
for i in range(N):
if (tab[i] % 2 == 0):
pair+=1
else:
impair+=1
print("Total des éléments pairs: ",pair)
print("Total des éléments impairs : " ,impair)

Exercice 37
Écrivez un programme Python pour déclarer deux tableaux, puis entrez les
éléments du premier tableau de l'utilisateur et copiez tous ses éléments dans le
deuxième tableau
Réponse

N = int(input("Saisir le nombre d'éléments : "))


source=[0]*N
dest=[0]*N
for i in range(N):
source[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
for i in range(N):
dest[i] = source[i]
print("Les éléments du tableau source sont : ")
for i in range(N):
print(source[i], end=", ")
print()
print("Les éléments du tableau dest sont : ")
for i in range(N):
print(dest[i])

Exercice 38
Créez un programme Python qui crée et initialise un tableau, puis insère un
Exercice python
élément à la position spécifiée dans ce tableau (de 0 à N-1).
Pour insérer un nouvel élément dans le tableau, déplacez les éléments de la
position d'insertion donnée vers une position vers la droite.

Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*(N+1)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
num = int(input("Saisir un élément : "))
pos = int(input("Saisir une position : "))

if (pos > N + 1 or pos <= 0):


print("Position invalide! Veuillez saisir une position entre 1 et " , N)
else:
for i in range(N,-1,-1):
tab[i] = tab[i - 1]
tab[pos - 1] = num
N+=1
for i in range(N):
print(tab[i])

Exercice 39
Créez un programme Python qui crée et initialise un tableau, puis supprimez
un élément de ce tableau à la position spécifiée (de 0 à N-1).
Pour supprimer un élément du tableau, déplacez les éléments juste après la
position donnée vers une position à gauche et réduisez la taille du tableau.
Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
pos = int(input("Saisir la position de l'élément à supprimer : "))
if (pos > N + 1 or pos <= 0):
print("Position invalide! Veuillez saisir une position entre 1 et " , N)
else:
for i in range(pos-1, N-1):
tab[i] = tab[i + 1]

N-=1
for i in range(N):
print(tab[i])
Exercice python
Exercice 40
Créez un programme Python qui crée et initialise un tableau, puis trouve la
fréquence de chaque élément de ce tableau.

Réponse
N = int(input("Saisir le nombre d'éléments : "))
tab=[0]*(N)
freq=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
freq[i] = -1

for i in range(N):
cpt = 1
for j in range(N):
if((i!=j) and (tab[i]==tab[j])):
cpt+=1
freq[i] = cpt
for i in range(N):
if(freq[i] != 0):
print(tab[i] , " se produit " , freq[i] , " fois")

Exercice 41
Créez un programme Python qui crée et initialise un tableau, puis affichez
tous les éléments uniques de ce tableau
Idée: utiliser un tableau de fréquences

Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*(N)
freq=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
freq[i] = -1

for i in range(N):
cpt = 1
for j in range(N):
if((i!=j) and (tab[i]==tab[j])):
cpt+=1
freq[i] = cpt
for i in range(N):
Exercice python
if(freq[i] == 1):
print(tab[i] , end=" ")

Exercice 42
Créez un programme Python qui crée et initialise un tableau, puis comptez les
éléments en double dans ce tableau.
Réponse
N = int(input("Saisir le nombre d'éléments : "))
tab=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
cpt=0
for i in range(N):
for j in range(i+1,N):
if (tab[i] == tab[j]):
cpt+=1
break
print("Nombre total d'éléments en double trouvés dans le tableau = " , cpt)
Exercice 43
Créez un programme Python qui crée et initialise un tableau, puis supprimez
les éléments en double dans ce tableau.
Réponse

N = int(input("Saisir le nombre d'éléments : "))


tab=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
for i in range(N):
for j in range(i+1,N):
if (tab[i] == tab[j]):
for k in range(j,N-1):
tab[k] = tab[k + 1]
N-=1
j-=1
for i in range(N):
print(tab[i] )

Exercice 44
Créez un programme qui crée et initialise un tableau, puis inversez ce tableau
sans utiliser un tableau supplémentaire.
Réponse
Exercice python
N = int(input("Saisir le nombre d'éléments : "))
tab=[0]*(N)
for i in range(N):
tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))
indexArriere = 0
indexAvant = N - 1
while (indexArriere < indexAvant):
temp = tab[indexArriere]
tab[indexArriere] = tab[indexAvant]
tab[indexAvant] = temp
indexArriere+=1
indexAvant-=1
for i in range(N):
print(tab[i])

Exercice 45
Ecrire un programme Python qui permet de calculer la somme :

S = 1¹ +2² + 3³ +........+ n^n

*** Solution ****


S=0
n=int(input("Donner un entier :"))

for i in range (1,n+1):

S=S+i**i

print("la somme est :",S)

POO en Python

Exercice 46 : classe Rectangle


Exercice python
Écrire en Python une classe «Rectangle» ayant deux
variables « a » et « b » et une fonction membre
« surface() » qui retournera la surface du rectangle.

Corrigé
class Rectangle:
def __init__ (self,a=0,b=0):
self.a=a
self.b=b
def surface(self):
return self.a*self.b

r1 = Rectangle ();
r2 = Rectangle (5,4);
print("la surface est:",[Link]())
print("la surface est:",[Link]());

Exercice 47 : classe Somme

Écrire en Python une classe « Somme » ayant deux


variables « n1 » et « n2 » et une fonction membre « som() »
qui calcule la somme. Dans la méthode principale main
demandez à l’utilisateur d’entrez deux entiers et passez-les
au constructeur par défaut de la classe « Somme » et
afficher le résultat de l’addition des deux nombres.

Corrigé

class Somme:
def __init__(self,nbr1=0,nbr2=0):
Exercice python
self.n1=nbr1
self.n2=nbr2

def som(self):
return n1 + n2

n1 = int(input("Entrer N1:"))
n2 = int(input("Entrer N1:"))
obj = Somme(n1,n2);
print("Le resultat de l'addition est :",[Link]())

Exercice 48 : classe Etudiant

Écrire classe Python appelée « Etudiant » avec les


membres suivant :
nom : (de type char),
note1, note2 : (de type float)
calc_moy() : calcule la note moyenne.
afficher () : affiche le nom et la note moyenne.
Le programme principal (main) demande à l’utilisateur
d’entrer le nom et les notes d'un étudiant. et affiche leur
nom et la note moyenne.

Corrigé
class Etudiant:
def __init__(self,nom,note1,note2):
[Link] = nom
self.note1 = note1
self.note2 = note2
Exercice python
def calc_moy(self):
return (self.note1 + self.note2)/2

def afficher (self):


print("Etudiant: ",[Link], " moyenne:
",self.calc_moy())
nom = input("Entrer le nom: ")
note1= int(input("Entrer la note 1: "))
note2= int(input("Entrer la note 2: "))
E = Etudiant (nom, note1, note2)
[Link]()

Exercice 49 : classe point


Réaliser en Python une classe point permettant de
manipuler un point d'un [Link] prévoira :
1) un point est définit par ses coordonnées x et y (des
membres privés)
2) les constructeurs
3) une fonction membre déplace effectuant une translation
définie par ses deux arguments dx et dy (double)
4)une fonction membre affiche se contentant d'afficher les
coordonnées cartésiennes du point.
5)une fonction membre saisir se contentant de saisir les
coordonnées cartésiennes du point.
6)une fonction membre distance effectuant calculant la
distance entre deux point.
Exercice python
7)une fonction membre milieu donnant le milieu d'un
segment.
8)un petit programme d'essai (main) gérant la classe point.

Corrigé

from math import *


class Point:
def __init__(self,a=0,b=0):
self.x=a
self.y=b
def get_x(self):
return self.x
def get_y(self):
return self.y
def set_x(self,a):
self.x=a
def set_y(self, b):
self.y=b
def deplace(self,dx,dy):
self.set_x(self.get_x()+dx)
self.set_y(self.get_y()+dy)

def affiche(self):
print("x=",self.get_x())
print("y=",self.get_y())
Exercice python
def saisir(self):
print("donner les coordonnées")
self.x = int(input ("x = "))
self.y = int(input ("y = "))

def distance (self,p):


x1=(self.get_x()-p.get_x())*(self.get_x()-p.get_x());
x2=(self.get_y()-p.get_y())*(self.get_y()-p.get_y());
d=sqrt(x1+x2)
return d
def milieu(self, p):
p1 = Point();
p1.x=(self.get_x()+p.get_x())/2
p1.y=(self.get_y()+p.get_y())/2
return p1
p = Point(1,1)
x = Point(5,5)
c = Point()
[Link]()
[Link](5,5)
[Link]();
print("la distance px est: ",[Link](x));
c=[Link](x)
print("le milieu de [px] est: (",c.get_x(),",",c.get_y(),")")

Exercice 50 : classe Compte


Écrire un programme en Python qui simule la gestion d’un
simple compte bancaire. Le compte est créé avec un solde
initial. Il est possible de déposer et de retirer des fonds,
Exercice python
d’ajouter des intérêts et de connaître le solde actuel. Cela
devrait être implémenté dans une classe nommée Account
qui comprend:

1) Un constructeur par défaut qui met le solde initial à


zéro.
2) Un constructeur qui accepte une balance initial comme
paramètre.
3) Une fonction getBalance qui renvoie le solde actuel.
4) Une méthode deposer pour déposer un montant spécifié.
5) Une méthode retirer pour retirer un montant spécifié.
6) Une méthode ajouter_Interet pour ajouter de l’intérêt
au compte.
La méthode ajouter_Interet prend le taux d’intérêt
comme paramètre et modifie le solde du compte en solde *
(1 + taux d’intérêt).

Corrigé
class Compte:
def __init__(self,balance=0):
[Link] = balance

def getBalance(self):
return [Link]

def deposer(self,amount):
[Link] += amount
def retirer (self,amount):
[Link] -= amount
def ajouter_Interet (self,rate):
[Link] = [Link]*(1 + rate)
Exercice python
compte1 = Compte()
compte2 = Compte(3000)
[Link](100)
[Link](1000)
compte1.ajouter_Interet (0.3)
print([Link]())
print([Link]())

Exercice 51 : Classe temps


Créer en Python une classe appelée Temps, qui a des
membres de type int tels que heures, minutes et secondes.
(rendez-les private)
1) Un constructeur doit initialiser ces données à 0
2) Un autre constructeur devrait l’initialiser à des valeurs
fixes.
3) Une fonction membre devrait l’afficher, au format 17h
59min 59s.
4) Une autre fonction pour renvoyer les données de chaque
membre nommez-les getheurs, getMin et getSec
5) Une fonction membre doit ajouter deux objets de
type Temps passé en arguments.

Corrigé

class Temps:
def setTemps(self,h,m,s):
[Link] = h
[Link] = m
[Link] = s
Exercice python
def __init__ (self,h=0,m=0,s=0):
[Link](h,m,s)

def getHours(self):
return [Link]
def getMin(self) :
return [Link]
def getSec(self) :
return [Link]

def getTemps(self):
print([Link],"h ",[Link],"min
",[Link],"s")

def ajouterTemps(self,t1,t2):
[Link]= [Link] + [Link]
[Link] = [Link] + [Link] +
(int([Link]/60))
[Link] = [Link] + [Link] +
(int([Link]/60))
[Link] %= 60
[Link] %= 60
t1 = Temps(4,43,59)
t2 = Temps(1,20,32)
t3 = Temps()
[Link]()
[Link]()
[Link](t1, t2)
[Link]()

Exercice 52 : Classe rectangle


Exercice python
Écrire en Python un programme utilisant une classe
rectangle dont le constructeur prend deux paramètres,
largeur et hauteur et qui offre les fonctions suivantes :
1) calcul du périmètre
2) calcul de la surface
3) affichage
ainsi que les accesseurs et mutateurs triviaux (lecture et
modification de la largeur et de la hauteur).

Corrigé

class Rectangle:
def __init__(self,L,h):
[Link] = L
[Link] = h
def getLargeur(self):
return largeur
def getHauteur(self):
return hauteur
def perimetre(self) :
return 2*([Link] + [Link])
def surface(self):
return [Link] * [Link]
def setLargeur(self,newLargeur):
[Link] = newLargeur
def setHauteur(self,newHauteur):
[Link] = newHauteur
Exercice python
def afficher(self):
print("la longueur :",[Link])
print("la largeur :",[Link])
R= Rectangle (5,4)
[Link]()
print("la surface est ",[Link]());
print("le perimetre est ",[Link]())

Exercice 53 : L'héritage
Écrivez un programme en Python qui définit une classe
appelée Forme avec un constructeur qui donne de la
valeur à la largeur(x) et à la hauteur(y). Définir la méthode
aire() dans les deux sous-classes Triangle et Rectangle, qui
calculent l’aire. Dans la méthode principale main,
définissez deux variables, un triangle et un rectangle, puis
appelez la fonction aire() dans ces deux variables.
Notez que:
l’aire du triangle est = largeur * hauteur / 2
l’aire du rectangle est = largeur * hauteur.

Corrigé
class Forme:
def __init__(self,x=0,y=0):
self.x = x
self.y = y
class Rectangle (Forme):
def __init__(self,x=0,y=0):
Exercice python
Forme.__init__(self,x,y)

def aire(self):
return (self.x * self.y)
class Triangle (Forme):
def __init__(self,x=0,y=0):
Forme.__init__(self,x,y)
def aire(self):
return (self.x * self.y / 2)

R = Rectangle (2,3)
T = Triangle (2,3)
R1 = Rectangle ()
print([Link]())
print([Link]())
print([Link]())

Exercice 54: Classe Rectangle


1) Ecrire une classe Rectangle en langage Python,
permettant de construire un rectangle dotée
d'attributs longueur et largeur.
2) Créer une méthode Perimetre() permettant de calculer
le périmètre du rectangle et une méthode Surface()
permettant de calculer la surface du rectangle
3) Créer les getters et setters.
4) Créer une classe fille Parallelepipede héritant de la
classe Rectangle et dotée en plus d'un attribut hauteur et
d'une autre méthode Volume() permettant de calculer le
volume du Parallélépipède.
Exercice python

Réponse
#coding: utf-8
class Rectangle:
def __init__(self,longueur,largeur):
[Link] = longueur
[Link] = largeur

# Méthode qui calcul le périmètre


def Perimetre(self):
return 2*([Link] + [Link])

# Méthode qui calcul la surface


def Surface(self):
return [Link]*[Link]

class Parallelepipede(Rectangle):
def __init__(self,longueur,largeur, hauteur):
Rectangle.__init__(self,longueur,largeur)
[Link] = hauteur

# méthode qui calcul le volume


def Volume(self):
return [Link]*[Link]*[Link]

monRectangle = Rectangle(7, 5)
monParallelepipede = Parallelepipede(7,5,2)
print("Le périmètre de mon rectangle est :
",[Link]())
print("La surface de mon rectangle est :
", [Link]())
print("Le volume de mon parallelepipede est :
", [Link]())
Exercice python

Exercice 55: Compte bancaire


1) Créer une classe Python nommée CompteBancaire qui
représente un compte bancaire, ayant pour attributs :
numeroCompte (type numérique ) , nom (nom du
propriétaire du compte du type chaine), solde.
2) Créer un constructeur ayant comme paramètres :
numeroCompte, nom, solde.
3) Créer une méthode Versement() qui gère les versements.
4) Créer une méthode Retrait() qui gère les retraits.
5) Créer une méthode Agios() permettant d'appliquer les
agios à un pourcentage de 5 % du solde
6) Créer une méthode afficher() permettant d’afficher les
détails sur le compte
7) Donner le code complet de la classe CompteBancaire.

Réponse
#coding: utf-8
class CompteBancaire:
def __init__(self, idNumber, nomPrenom, solde):
[Link] = idNumber
[Link] = nomPrenom
[Link] = solde

def versement(self, argent):


[Link] = [Link] + argent

def retrait(self, argent):


if([Link] < argent):
print(" Impossible d'effectuer l'opération. Solde
Exercice python
insuffisant !")
else:
[Link] = [Link] - argent

def agios(self):
[Link] =[Link]*95/100

def afficher(self):
print("Compte numéro : " , [Link])
print("Nom & Prénom : ", [Link])
print(" Solde : ", [Link] , " DH ")

monCompte = CompteBancaire(16168891, " Mohamed


Rachid", 22300)
[Link](1500)
[Link](24000)
#[Link]()
[Link]()

Exercice 56: Classe Cercle


1) Définir une classe Cercle permettant de créer un cercle
C(O,r) de centre O(a,b) et de rayon r à l'aide du
constructeur :
2)Définir une méthode Surface() de la classe qui permet de
calculer la surface du cercle
3)Définir une méthode Perimetre() de la classe qui permet
de calculer le périmètre du cercle
4) Définir une méthode testAppartenance() de la classe qui
permet de tester si un point A(x,y) appartient ou non au
cercle C(O,r).
Exercice python

Réponse

#coding: utf-8
from math import *
class Cercle:
def __init__(self , a , b , r):
self.a = a
self.b = b
self.r = r

def perimetre(self):
return 2*pi*self.r

def surface(self):
return pi*self.r**2

def formEquation(self,x,y):
return (x-self.a)**2 + (y-self.b)**2 -self.r**2
def test_appartenance(self,x,y):
if([Link](x,y)==0):
print("le point : (",x,y,") appartient au cercle C")
else:
print("le point : (",x,y,") n'appartient pas au cercle
C")

# Instanciation
C = Cercle(1,2,1)

print("le périmètre du cercle C est: ", [Link]())


Exercice python
print("le surface du cercle C est: ", [Link]())
C.test_appartenance(1,1)

Exercice 57: Calcul arithmétique


1) Créer une classe Calcul ayant un constructeur par
défaut (sans paramètres) permettant d’effectuer différents
calculs sur les nombres entiers.
2) Créer au sein de la classe Calcul
une méthode nommée Factorielle() qui permet de calculer
le factorielle d'un entier. Tester la méthode en faisant une
instanciation sur la classe.
3) Créer au sein de la classe Calcul
une méthode nommée Somme() permettant de calculer
la somme des n premiers entiers: 1 + 2 + 3 + .. + n. Tester
la méthode.
4) Créer au sein de la classe Calcul
une méthode nommée testPrim() permettant de tester
la primalité d'un entier donné. Tester la méthode.
5) Créer au sein de la classe Calcul
une méthode nommée testPrims() permettant de tester si
deux nombres sont premier entre eux.
6) Créer une méthode tableMult() qui crée et affiche la
table de multiplication d'un entier donné. Créer ensuite
une méthode allTablesMult() permettant d'afficher toutes
les tables de multiplications des entiers 1, 2, 3, ..., 9.
7) Créer une méthode listDiv() qui récupère tous les
diviseurs d'un entier donné sur une liste Ldiv. Créer une
autre méthode listDivPrim() qui récupère tous les diviseurs
premiers d'un entier donné.

Réponse
Exercice python

#coding: utf-8
class Calcul:
def __init__(self):
pass
#---Factorielle ------------
def factorielle(self, n):
j=1
for i in range(1,n+1):
j = j*i
return j
#---Somme des n premiers nombres----
def somme(self, n):
j=1
for i in range(1,n+1):
j = j+i
return j
#---Test primalité d'un nombre------------
def testPrim(self, n):
j=0
for i in range(1,n+1):
if(n%i==0):
j=j+1
if(j == 2):
return True
else:
return False

# ---Test primalité de deux nombres entiers------------


def testprims(self , n , m):
divCommun = 0
for i in range(1 , n+1):
if (n%i == 0 and m%i == 0):
Exercice python
divCommun = divCommun + 1
if divCommun == 1:
print("Les nombres " , n , " et ", m , " sont
premiers entre eux")
else:
print("Les nombres " , n , " et ", m , " ne sont pas
premiers entre eux")

#---Table de multiplication-------------
def tableMult(self,k):
for i in range(1,10):
print(i," x ",k," = ",i*k)

#---Toutes les tables de multiplication des nombres 1, 2, ..,


9
def toutesLesTables(self):
for k in range(1,10):
print("\nla table de multiplication de : ",k, " est : ")
for i in range(1,10):
print(i," x ",k," = ",i*k)

#----- liste des diviseurs d'un entier


def listDiv(self , n):
# initialisation de la liste des diviseurs
lDiv = []
for i in range(1 , n+1):
if ( n%i == 0):
[Link](i)
return lDiv

# ------liste des diviseurs premiers d'un


entier----------------
def listDivPrim(self , n):
Exercice python
# initialisation de la liste des diviseurs
lDiv = []
for i in range(1 , n+1):
if ( n%i == 0 and [Link](i)):
[Link](i)
return lDiv

# Exemple Instanciation
Cal = Calcul()
[Link](13 , 7)
print("Liste des diviseurs de 18 : ", [Link](18))
print("Liste des diviseurs premiers de 18 :
", [Link](18))
[Link]()

Exercice 58
Coder une classe myString permettant de doter les
chaines de caractères des méthodes append() et pop()
faisant les mêmes opérations que celles des listes. Exemple
si on crée des chaines via l'instanciation s1 =
myString("Hello") et s2 = "bonjour", et on lui applique les
méthodes :
print([Link](" world !")) # affiche 'Hello world !'
print([Link](2)) # affiche 'bojour'.

Réponse

class myString:
def __init__(self,s):
self.s = s
def append(self,x):
Exercice python
self.s = self.s + x
return self.s
def pop(self,i):
s1 = self.s[0:i]
s2 = self.s[i+1:len(self.s)]
return s1+s2
def modifier(self,i):
pass

# Tester la classe
S = myString("hello")
print([Link](1)) # affiche 'hllo'
print([Link](" world !")) # affiche 'hello world !'

Exercice 59
1. Définir une classe Book avec les attributs suivants :
Titre, Auteur (Nom complet), Prix.
2. Définir un constructeur ayant comme attributs: Titre,
Auteur, Prix.
3. Définir la méthode View() pour afficher les informations
d'une instance object Book.
4. Ecrire un programme pour tester la classe Book.

Réponse

#coding: utf-8
# Question 1
class Book:
# Question 2
Exercice python
def __init__(self , Title , Author , Price):
[Link] = Title
[Link] = Author
[Link] = Price

# Question 3
def view(self ):
return ("Book Title: " , [Link] , "Book Author:
" , [Link], "Book Price: " , [Link])

# Question 4
MyBook = Book("Python" , "Mohamed" , "23 Dh")
print( [Link]())

Exercise 60: Classe Geometry


Ecrire une classe Python nommée Geometry avec
un constructeur par défaut sans paramètres.
1) Ajouter une méthode nommée distance() à la classe
geometry qui permet de calculer la distance entre deux
points
A = (a1, a2), B = (b1, b2) (avec la convention: un point est
est identifié à ses coordonnées M = (xM , yM) )
2) Ajouter une méthode nommée middle() à la classe
geometry qui permet de déterminer le milieu d'un bipoint
(A , B).
3) Ajouter une méthode nommée trianglePerimeter() à
la classe geometry qui permet de calculer le périmètre d'un
triangle ABC.
4) Ajouter une méthode nommée triangleIsoscel() qui
renvoie True si le triangle est isoscel et False sinon.

Vous aimerez peut-être aussi