TP 2 Elements Du Langage Python - Corr
TP 2 Elements Du Langage Python - Corr
TP 2 Elements Du Langage Python - Corr
AZROUMAHLI
TP 2 : Eléments du langage Python – Fichiers, modules et fonctions – Correction
# extrait les notes sous forme de float et les stocke dans une liste
with open('notes.txt','r') as fichier:
for note in fichier :
notes.append(float(note))
# réécrir les notes dans le fichier « notes2.txt » avec une note par
# ligne suivie de « recalé » si la note est inférieure à 10 et « admis » si la note est
supérieure ou égale à 10.
with open('notes2.txt','w') as fichier:
for note in notes : #lire les notes a partir de la liste
if note>10:
fichier.write(f'{note}: recale \n')
else:
fichier.write(f'{note}: admis \n')
Exercice 2 : Les fonctions
Les fonctions crée dans cet exercice doivent avoir une documentation détaillée sur la sortie et les arguments utilisé.
2.1. Créez une fonction est_premier() qui prend comme argument un nombre entier positif n (supérieur à 2) et qui
renvoie le booléen True si n est premier et False si n n’est pas premier. A l’aide de cette fonction, déterminez tous
les nombres premiers de 2 à 100.
# La fonction est_premier()
def est_premier(n):
"""Vérifier si un nombre est premier
Args:
n (integer): Un nombre entier positif
Returns:
Page 1 sur 4
4IIR : Outils de développement - Framework Django Pr. C. AZROUMAHLI
boolean: True si n est premier et False si n n’est pas premier
"""
for a in list(range(2,int(n/2))):
if n%a==0:
return True
return False
# Utilisation de la fonction
for n in list(range(2,101)):
if est_premier(n):
print(f'{n} n\'est pas premier')
else:
print(f'{n} est premier')
2.2. Créez une fonction gen_pyramide() à laquelle vous passez un nombre entier N et qui renvoie une pyramide de N
lignes sous forme de chaîne de caractères. Le programme principal demandera à l’utilisateur le nombre de lignes
souhaitées et affichera la pyramide à l’écran.
*
***
*****
*******
*********
***********
# La fonction gen_pyramide()
def gen_pyramide(N) :
for i in range(N):
print(' '*(N-i-1) + '*'*(2*i+1))
# utilisation de la fonction
gen_pyramide(8)
Exercice 3 : Containers, dictionnaires, tuples et sets
3.1. Créez une fonction compte_mots_2_lettres() qui prend comme argument une séquence sous la forme d’une
chaîne de caractères et qui renvoie tous les mots de 2 lettres qui existent dans la séquence sous la forme d’un
dictionnaire.
Par exemple pour la séquence « ACCTAGCCCTA », le dictionnaire renvoyée serait : {'AC': 1, 'CC': 3, 'CT': 2,
'TA': 2, 'AG': 1,'GC': 1}.
# La fonction compte_mots_2_lettres()
def compte_mots_2_lettres(sequence) :
"""Renvoie tous les mots de 2 lettres qui existent dans la séquence sous la forme d’un
dictionnaire
Args:
sequence (string): séquence sous la forme d’une chaîne de caractères
Returns:
dict: Les mots de 2 lettres avec le nombre d'occurence de chaque mots
Page 2 sur 4
4IIR : Outils de développement - Framework Django Pr. C. AZROUMAHLI
"""
list_2_lettre=[sequence[i]+sequence[i+1] for i in range(len(sequence)-1)]
dict={}
for l in list_2_lettre:
dict[l]=sequence.count(l) #nombre d'occurence
return dict
# Utilisation de la fonction
sequence="ACCTAGCCCTA"
print(compte_mots_2_lettres(sequence))
3.2. Créez une fonction verif_sets_common() pour vérifier si deux set n'ont aucun élément en commun.
#la fonction verif_sets_common()
def verif_sets_common(a,b):
"""Vérifier si deux set n'ont aucun élément en commun
Args:
a (set): la premiere set a verifier
b (set): la premiere set a verifier
Returns:
bool: True si il y un element en commun, False si non
"""
if len(a|b)==len(a)+len(b):
return False
else :
return True
Args:
t (tuple): le tuple a explorer
e (char/int/string): la valeur a chercher
Returns:
bool: True si e existe dans t, False si non
"""
Page 3 sur 4
4IIR : Outils de développement - Framework Django Pr. C. AZROUMAHLI
if e in t:
return True
else:
return False
# Utilisation de la fonction
print(verif_exist_tuple(tuple("ABCDEF"),'H'))
3.4. Créez une fonction plus_commun() pour trouver l'élément le plus commun d'une liste donnée (utiliser la collection
Counter et la méthode most_common())
#la fonction plus_commun()
def plus_commun(liste):
c=collections.Counter(liste)
return c.most_common()
# Utilisation de la fonction
print(plus_commun(list("12584khjlmm666dfrgaa")))
Page 4 sur 4