Vous êtes sur la page 1sur 5

Python

TP N°4

Exercice 1 : Effectuer les actions suivantes :

– Créer la liste : [17, 38, 10, 25, 72],


L=[17, 38, 10, 25, 72]
print(L)

– Trier et affichez la liste


L.sort()
print(L)

– Ajouter l’élément 12 à la fin de la liste et afficher la liste


L.append(12)
print(L)

– Renverser et affichez la liste


L.reverse()
print(L)

– Afficher l’indice de l’élément 17 ;


ind=L.index(17)
print(ind)

– Enlever l’élément 38 et afficher la liste


L.remove(38)
print(L)

– Afficher la sous-liste du 2ème au 4ème élément ;


sL1=L[1:4]
print(sL1)

– Afficher la sous-liste du début au 2ème élément


sL2=L[:2]
print(sL2)

– Afficher la sous-liste du 3ème élément à la fin de la liste


sL3=L[1:]
print(sL3)

– Afficher la sous-liste complète de la liste


sL4=L[:]
print(sL4)

– Afficher le dernier élément en utilisant un indice négatif.


sL5=L[-1:]
print(sL5)

3ISI 1/2 2021-2022


Exercice 2

1. Ecrire un script, en utilisant une liste en compréhension, qui construit et affiche une
liste en ajoutant 2 à chaque élément d’une liste d’entiers de 1 à 15.

lC=[x+2 for x in range(0,15)]


print(lC)

2. Ecrire un script, en utilisant une liste en compréhension, qui construit et affiche une
liste en ajoutant 2 à chaque élément d’une liste d’entiers de 1 à 16, mais seulement pour
les nombres divisibles par 3.

lC=[x+2 for x in range(0,16) if x%3 == 0]


print(lC)

3. Ecrire un script, en utilisant une liste en compréhension, qui construit et affiche une
liste en ajoutant 2 à chaque élément d’une liste déjà créée.

L=[17, 38, 10, 25, 72]


lC=[x+2 for x in L]
print(lC)

Exercice 3

1. Ecrire une fonction img, en utilisant une liste en compréhension, qui calcule l’imge
d’une liste par une fonction donnée en paramètre.

def img(L,f):
lC=[f(x) for x in L]
return lC

2. Ecrire un script qui permet de tester la fonction avec la fonction sqrt du module math et
la fonction qui calcul la somme des diviseurs d’un nombre entier.

from math import sqrt


L=[17, 38, 10, 25, 72]
lC = img(L,sqrt)
print(lC)

3. Ecrire une fonction qui, en utilisant une liste en compréhension, permet de retourner la
liste des entiers entre 1 et 10000 des nombres parfait.

def parfait(a):
somdiv = 1
for d in range(2,a//2 + 1):
if a%d == 0:
somdiv = somdiv + d
if somdiv == a:
return True
return False
lC=[x for x in range(1,1000) if parfait(x) ]
print(lC)

3ISI 2/2 2021-2022


4. Soient s et t deux chaines de caractères. Ecrire une fonction qui permet de construire
une liste qui contient toutes les combinaisons possibles d’un caractère de s et d’un
caractère de t.

s='abc'
t='efgh'

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

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)

2. Ecrire une fonction qui permet de retourner la représentation binaire d’un entier dans
une liste

def bin(n):
L=[]
while n !=0:
L.append(n%2)
n = n//2
L.reverse()
return L

L=bin(13)
afficher(L)

3. Ecrire une fonction qui permet de retourner la représentation hexadécimale d’un entier
dans une liste
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:

3ISI 3/2 2021-2022


r = 'D'
elif r == 14:
r = 'E'
elif r == 15:
r = 'F'
L.append(r)
n = n//16
L.reverse()
return L

L=hexa(26)
print(L)

Exercice 5

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.

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)

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

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)

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 ,..., xn  est donné par :
n
ECART = ( xi − moy ) / n
i =1

def ecarType(L):

3ISI 4/2 2021-2022


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)

4. On considère les températures enregistrées dans 10 villes d’un pays. Pour chaque ville
nous enregistrons deux valeurs de température: minimale et maximale. Nous proposons
d’utiliser deux listes de 10 éléments (chaque élément correspond à une ville) : TMIN qui
contient les températures minimales et TMAX qui contient les températures maximales.

Ecrire un script qui :


• Remplit les listes TMIN et TMAX.
• Calcule et affiche TMOY la liste qui contient la température moyenne de
chaque ville.
• Calcule et affiche la température moyenne du pays.
• Affiche les températures minimale et maximale.
• Construit et affiche les listes des villes (indices) dont la température moyenne
est inférieure à ECART.

TMIN = [10, 7, 20, 11]


TMAX = [37, 20, 42, 30]
TMOY = calMOY(TMIN,TMAX)
print(TMOY)

moy = Moyenne(TMOY)
print(moy)

m = min(TMOY)
M = max(TMOY)
print(m)
print(M)
e = ecarType(TMOY)
print(e)
L=[TMOY.index(x) for x in TMOY if x<e]
print(L)

3ISI 5/2 2021-2022

Vous aimerez peut-être aussi