Vous êtes sur la page 1sur 22

Travaux pratiques de python

Réalisé par :
ESSRHIR LOUBNA
Encadré par :
P. Said NAJAH

Série 1 : langage Python


Série 1 : langage Python
Exercice 1 :

Ecrire un script python qui calcul le maximum de deux entiers.


a=float(input("donner a"))
b=float(input("donner b"))
maxi = a
if maxi <b :
maxi = b
print(" max de ", a, "et" , b, "est :", maxi)

Affichage :
maxi = b
print(" max de ", a, "et" , b, "est :", maxi)
donner a2
donner b3
max de 2.0 et 3.0 est : 3.0
exercice
a=float(input("entrer la valeur de a"))
b=float(input("entrer la valeur de b"))
x=float(input("entrer la valeur de x"))
fx=1
if x>a :
if x<b :
fx=(x-a)/(b-a)
else :

fx=0
print("f(",x,")= ",fx)

Exercice 3 :

a=float(input("entrer la valeur de a"))


b=float(input("entrer la valeur de b"))
c=float(input("entrer la valeur de c"))
if a<b :
if b<c :
med=b
elif a<c :
med=c
else :
med=a
elif b>c :
med=b
elif a>b :
med=c
else :
med=a
print("le med de a , b et c est :",med)

entrer la valeur de a6
entrer la valeur de b7
entrer la valeur de c89
le med de a , b et c est : 7.0
Exercice 4 :
dite bissextile si elle est Une année est divisible par 4 et si elle est divisible par 100 elle doit
être divisible par 400.

Affichage :
donner a 121
121 non bissectile
Série 2 : langage Python :
Exercice 1 :
Ecrire un script python qui implémente les programmes C suivants :
1.
#include <stdio.h>
main()
{
int m, n;
for (m = 1, n = 8; n > m; m++, n--)
printf("m= %d *** n= %d ", m, n);

m=1
n=8
while n>m:
print("m = ",m, " *** ", "n = ", n)
n = n-1
m = m+1

Exercice 2 : Ecrire un script python qui saisit deux entiers p et q et calcule le quotient de la
division de p par q (sans utiliser l'opérateur /)

a = int(input("Donner a"))
b = int(input("Donner b"))
q = 0
while a>=b:
q=q+1
a=a-b
print("Quotient = ", a)

Exercice 3 :
Ecrire un script python qui saisit deux entiers p et q et calcule le reste de la
division de p par q (sans utiliser l'opérateur mod )

p=int(input("entrer la valeur de p "))


q=int(input("entrer la valeur de q "))
n=0
r=0
while p>=q:
p=p-q
r=p
print(" le reste est: ",r)

Affichage :

Exercice 4 : Ecrire un script python qui saisit un entier p et qui décide s’il est premier
ou non.
Un nombre est premier si ses seuls diviseurs sont 1 et lui-même
n = int(input("Donner n"))
if n <= 1:
print("Non premier")
for d in range(2, n//2 + 1):
if n % d == 0:
print("Non premier")
print("premier")

Exercice 5 :
Ecrire un script python qui permet de calculer le PGDC de deux entiers n et m
.
Donner deux algorithmes

a=int(input("donner la valeur de b"))


b=int(input("donner la valeur de b"))
r=a%b
while r!=0 :
a=b
b=r
r=a%b
print("le pgcd est : ",b)

Affichage :

Exercice 6 : Ecrire un script python qui permet de calculer le PPMC de deux entiers n et m
Série 3 :
Exercice 1 :
1. Ecrire et créer un module avec les fonctions suivantes.
• QUORES qui le quotient et le reste de la division d’un entier p par un
entier q (sans
utiliser l'opérateur / et mod)

Premier qui déterminer si un nombre p est premier ou non. Un


nombre est premier
si ses seuls diviseurs sont 1 et lui-même

L’affichage :

• PGDC et le PPMC qui claculent le PGCD et le PPMC de deux entiers n et m


Le programme :
def pgcd(a,b) :
while b!=0 :
r=a%b
a=b
b=r
return a
m=int(input("donner m"))
n=int(input("donner n"))
print("le pgcd est: ",pgcd(m,n))

Le calcule de ppmc :
Le programme :
def ppmc(a,b):
sa=a
sb=b
while sa !=sb:
if sa < sb :
sa = sa +a
else:
sb =sb +b
return sa
a=int(input("entrer la valeur de a "))
b=int(input("entrer la valeur de b "))
print("le ppmc est : ",ppmc(a,b))
l’affichage :

Parfait qui détermine si un nombre est parfait ou non. Un nombre est


parfait s'il est
égale à la somme de ses diviseurs sauf lui-même
def parfait(m):
c=0
for i in range(1,m//2+1) :
if m%2==0 :
c=c+i
if c==m :
return True
else :
return False
m=int(input("entrer la valeur de m "))
if parfait(m)==True :
print("le nombre est parfait ")
else :
print("le nombre n'est pas parfait")
l’affichage :

Traingulaire qui détermine si un nombre est triangulaire ou non. Un


nombre p est
dit triangulaire s'il existe N <p tel que p= 1+2+…+N.
Le programme :

L’afichage :
le programme :

3-
# la fonction est définie avec deux paramètres et le résultat
# est une valeur
def fa(a,x) :
return (x*x)/a-1
# la fonction est définie avec un seul paramètre le résultat
# est une fonction avec une valeur de a fixé
def fab(a) :
def f(x) :
return (x*x)/a-1
return f
# Appel de la fonction fab
f = fab(2) # f est la fonction définie par f(x)=(x*x)/2-1
print(f(2)) # affiche la valeur 1
# la fonction fVect prend en paramètre un vecteur et une
# fonction
def fVect(X,f) :
Y=[]
for x in range(0,len(X) :
Y.append(f(x))
return Y
exercice 2 :
Méthode dichotomie :

Méthode Newton :

2-Appliquer ce module pour approcher la racine carrée d’un reél positif :


def fab(a) :
def f(x) :
return (x*x)/a-1
return f
def fd(a) :
def f(x) :
return (2*x)/a
return f
# Programme principal
# construction de la fonction associée à la racine carée de 2
f=fab(3)
# construction de la dérivée
fd=fderive(3)
# calcule de la racine carrée de 2 avec la méthode dichotomie
rd=dicho(f,4,5,0.0000000002)
print(rd)
# calcule de la racine carrée de 2 avec la méthode dichotomie
rN=newton(f,fd,4,5,0.00000002)
print(r2)
Python : TP N°4
Exercice 4 :
1. Ecrire une fonction qui permet d’afficher les éléments d’une liste sans
espace(Utiliser la
fonction print comme suit : print(x,end = "")
def afficher(L):
for x in L:
print(x,end(""))
L=[17, 38, 10, 25, 72]
afficher(L)

Ecrire une fonction qui permet de retourner la représentation binaire d’un


entier dans
une liste
programme :
def bin(n):
L=[]
while n !=0:
L.append(n%2)
n = n//2
L.reverse()
return L
L=bin(13)
print(L)

affichage :
[1, 1, 1, 1, 0, 1, 1]
3. Ecrire une fonction qui permet de retourner la représentation hexadécimale
d’un entier
dans une liste :
Programme :
def hexa(n):
L=[]
while n !=0:
r = n%16
if r == 10:
r = 'A'
elif r == 11:
r = 'B'
elif r == 12:
r = 'C'
elif r == 13:
r = 'D'
elif r == 14:
r = 'E'
elif r == 15:
r = 'F'
L.append(r)
n = n//16
L.reverse()
return L
L=hexa(2258)
print(L)

Affichage :

1. Soient L1 et L2 deux listes. Ecrire une fonction qui calcule la liste MOY où
chaque
élément de MOY est la moyenne des éléments correspondants de L1 et L2.
Programme :
def moy(l1,l2) :
l=[]
for i in range(0,len(l1)) :
l.append((l1[i]+l2[i])/2)
return l
l1=[1,2,3,6,8,79]
l2=[45,23,7,36,4,5]
print(moy(l1,l2))

Affichage :

Programme :
def moy(l) :
s=0
for i in range(0,len(l)) :
s=s+l[i]
return s/len(l)
l=[37, 20, 42, 30]
m = moy(l)
print(m)
Affichage :

2. Ecrire une fonction qui calcule la moyenne d’une liste.


3. Ecrire une fonction qui calcule l’écart type ECART d’une liste sachant que
l’écart type
d’une liste d’éléments
X={x1,x2,x3…}est donné par :
def moy(l) :
s=0
for i in l:
s=s+i
return s/len(l)
l=[37, 20, 42, 30]
m = moy(l)
print("le moyenne est : ",m)

def ecart(l):
m=moy(l)
s=0
n=len(l)
for i in l :
s=s+abs(i-m)/n
return sqrt(s)

from math import sqrt


L=[37, 20, 42, 30]
e = ecart(L)
print("l'escartype est : ",e)

Travaux pratiques serie 4


Exo 1
l= [17, 38, 10, 25, 72]
print("la liste creer est: ",l)
l.sort()
print(l)
l.append((12))
print("a liste apres l'ajoute de l'element 12 est: ",l)
l.reverse()
print("la liste inverce de la liste principale est: ",l)
ind=l.index(17)
print("l'index de l'element 17 est: ",ind)
l.remove(38)
print(l)
lc=l[1:4]
print(lc)
li=l[2:]
print("la liste des le m eme element jusqu'a la fin est: ",li)
lo=l[:]
print("la sous liste complete de la liste est: ",lo)
ls=l[-1]
print("le derniere element d'indic negatif est : ",ls)

affichage :

la liste creer est: [17, 38, 10, 25, 72]


[10, 17, 25, 38, 72]
a liste apres l'ajoute de l'element 12 est: [10, 17, 25, 38, 72, 12]
la liste inverce est: [12, 72, 38, 25, 17, 10]
l'index de l'element 17 ast: 4
[12, 72, 25, 17, 10]
[72, 25, 17]
la liste des le m eme element jusqu'a la fin est: [25, 17, 10]
la sous liste complete de la liste est: [12, 72, 25, 17, 10]
le derniere element d'indic negatif est : 10

exercice 2 :

#exercice 2
l=[i+2 for i in range(0,15) ]
print("la liste apre l'ajoute de 2 a chaque element est : ",l)
lc=[ i+2 for i in range(0,16) if i%3==0]
print(lc)
l=[2,33,489,47,123,4]
print("la liste deja creer est: ",l)
lm=[i+2 for i in l]
print("la liste apres la modification de la liste l deja creer est: ",lm)

affichage :

[Running] python -u
"C:\Users\admin\AppData\Local\Temp\tempCodeRunnerFile.python"
la liste apre l'ajoute de 2 a chaque element est : [2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16]
[2, 5, 8, 11, 14, 17]
la liste deja creer est: [2, 33, 489, 47, 123, 4]
la liste apres la modification de la liste l deja creer est: [4, 35, 491, 49,
125, 6]

Exo 3
#exercice 3 :
def img(l,f) :
l=[f(i) for i in l]
return l
from math import sqrt
l=[1,0,7,9,12,47,12]
print(img(l,sqrt))
def parfait(n) :
s=0
for i in range(1,n//2+1) :
if n%i==0 :
s=s+i
if s==n :
return 1
return 0
l=[j for j in range(1,10000) if parfait(j) ]
print(l)

les combinaisons possible entre deux chaines de caractères S et S :


s='abc'
t='efgh'
L=[]
for x in s:
ls = [x + y for y in t]
L = L + ls
print(L)

def afficher(L):
for x in L:
print(x,end = "")
L=[17, 38, 10, 25, 72]
afficher(L)

def binaire(n) :
l=[]
while n!=0 :
l.append(n%2)
n=n//2
l.reverse()
return l
l= binaire(25)
print(l)

def hexa(n):
L=[]
while n !=0:
r = n%16
if r == 10:
r = 'A'
elif r == 11:
r = 'B'
elif r == 12:
r = 'C'
elif r == 13:
r = 'D'
elif r == 14:
r = 'E'
elif r == 15:
r = 'F'
L.append(r)
n = n//16
L.reverse()
return L
L=hexa(46)
print(L)

Exo 5 :
def calMOY(L1,L2):
MOY =[]
for x in range(0,len(L1)):
MOY.append((L1[x] + L2[x])/2)
return MOY
L1=[10, 7, 20, 11]
L2=[37, 20, 42, 30]
L = calMOY(L1,L2)
print(L)

def Moyenne(L):
s = 0
for x in L:
s = s+x
return s/len(L)
L=[37, 20, 42, 30]
m = Moyenne(L)
print(m)
#calculer l'écart

def ecarType(L):
m = Moyenne(L)
s = 0
n = len(L)
for x in L:
s = s + abs(x - m)/n
return sqrt(s)
from math import sqrt
L=[37, 20, 42, 30]
e = ecarType(L)
print(e)

Affichage :
[23.5, 13.5, 31.0, 20.5]
32.25
2.692582403567252
Travaux pratiques : série 6
Exo1 :
#créer un disctionnaire :
di={'chat' :'cat','chien': 'dog','cheval': 'horse'}
print(di)
#creation d'un dictionnaire à l'aide des tuples
dituple=dict([('chat','cat'),('chien','dog'),('cheval','horse')])
print(dituple)
# création d'un dictionnaire à l'aide des listes
diliste=dict(['chat','cat'],'chien','dog'],['cheval','horse']])
print(diliste)
#Ajouter au dictionnaire l’entrée associée à souris.
di.['souris']='mouse'
#Ajouter au dictionnaire les entrées associées aux mots oiseau, lapin et
serpent
di.([['oiseau','bird'],['lapin','rabitt'],['serpent','snake']])
print(di)
#remplace l’entrée existante avec la nouvelle
di['snake']= 'python'
#Création d’un ficher
def ajouter(d,mot,trad):
if mot not in d:
d[mot]=trad
else :
print’existe déjà’)

Une fonction qui retourne la clé, dans un dictionnaire, d’une valeur donnée.
La
fonction retourne un message si la valeur n’existe pas
def getCle(d,val):
for x in d:
if d[x]==val:
return x;
return 'n\'existe
#Une fonction qui affiche un dictionnaire sous forme d’une table
def afficher(d):
for x in d:
print(x,end =" : ")
print(d[x])
#programme principal
from dictionnaire import*
ajouter(di,'oiseau','bird')
print(di)
ajouter(di,'souris','mouse')
print(di)
cle = getCle(di,'horse')
print(cle)
cle = getCle(di,'python')
print(cle)
afficher(di)

Exo 2 :
def CreerDict1(lCle,lVal):
d={}
for i in range(0,len(lCle)):
d[lCle[i]]=lVal[i]
return d
#programme principal
lC = ['A1','A2','A3']
lV = ['Ampoule à visse ','Biscuit cholcolat','Lait']
Article = CreerDict1(lC,lV)
print(Article)

2. Ecrire une fonction qui permet de créer un dictionnaire dont les clés sont
ceux d’un
dictionnaire donné en paramètre et les valeurs sont des réels saisis au clavier

def CreerDict2(dA):
d={}
for c in dA:
d[c] = float(input("valeur = "))
return d
#programme principal
lC = ['A1','A2','A3']
lV = ['Ampoule à visse ','Biscuit cholcolat','Lait']
Article = CreerDict1(lC,lV)
Prix = CreerDict2(Article)
print(Prix)
3. Ecrire un programme principal qui réalise le scénario suivant :
• Création de deux dictionnaires Articles et Prix àen utilisant les deux
fonctions
précedentes.
C = ['A1','A2','A3']
lV = ['Ampoule à visse ','Biscuit cholcolat','Lait']
Articles = CreerDict1(lC,lV)
Prix = CreerDict2(Articles)
Print(Articles)
print(Prix)

Affichage de la liste des articles à partir des deux dictionnaires Articles et Prix,
de
la manière suivante :
Code Prix Désignation
A1 15 Ampoule à visse
A2 2 Biscuit au chocola
print('code\t\t Prix\t\t Designantion')
for c in Articles:
print(c,end=" \t\t ")
print(Prix[c],end=" \t\t ")
print(Articles[c])
4. Ajouter au scénario précédent :
• La création d’un dictionnaire Achats dont les entrées sont constituées par le
code
article et le montant de l’article. A chaque itération, qui correspond à un
article
acheté, on exécute le scénario suivant :
– saisir le code de l’article
– vérifier si l’article existe dans le dictionnaire des articles,
– saisir la quantité acheté
– mettre à jour le montant total
#creation des achats
Achats = {}
# iterer sur la listes des achats
continuer = "oui"
while continuer == "oui":
code = input("Donner le code de l'article : ")
if code in Articles:
q = int(input("donner la quantité : "))
Achats[code] = q
continuer = input ("continuer ?: ")
Affichage de la liste des achats de la manière suivante :
Code Quantité Prix unitaire Prix Désignation
A1 2 15 30 Ampoule à visse
A2 5 2 10 Biscuit au chocolat
Montant total : 40
mt = 0
print('code\t Quantité\tPrixU\t PrixT\t Design')
for c in Achats:
print(c,end=" \t ")
print(Achats[c],end="\t")
print(Prix[c],end=" \t ")
print(Achats[c]*Prix[c],end="\t")
print(Articles[c])
mt = mt + Achats[c]*Prix[c]
print(mt)

Vous aimerez peut-être aussi