0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Fonctions Python : Paramètres et Exceptions

Ce document présente un TP sur les fonctions, la gestion des fichiers et des exceptions en Python. Il inclut des exercices sur l'écriture de fonctions avec des paramètres variés, la manipulation de fichiers, et la gestion des exceptions. Des exemples de code et des exercices pratiques sont fournis pour illustrer ces concepts.

Transféré par

Chadou Fares
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Fonctions Python : Paramètres et Exceptions

Ce document présente un TP sur les fonctions, la gestion des fichiers et des exceptions en Python. Il inclut des exercices sur l'écriture de fonctions avec des paramètres variés, la manipulation de fichiers, et la gestion des exceptions. Des exemples de code et des exercices pratiques sont fournis pour illustrer ces concepts.

Transféré par

Chadou Fares
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 PDF, TXT ou lisez en ligne sur Scribd

ISTIC Prog Python

$
Algo & Programmation
TP N° 4 : Fonctions, Gestion des fichiers
et des exceptions

Objectifs
1. Ecrire des fonctions avec un nombre de paramètres fixe et variable
2. Gérer des fichiers en Python
3. Gérer et déclencher les exceptions dans un code Python

Exercice 1
Analyser les bouts de code suivants :
Compactage de paramètres (lors de définition de

def moyenne(x, *args): def moyenne(x,**kwargs):


somme = x somme = x
for y in args: for z,y in [Link]():
somme += y somme += y
return somme / (1 + len(args)) return somme / (1+len(kwargs))

print(moyenne(5)) print(moyenne(5))
print(moyenne(5, 2)) print(moyenne(2,**{"Amine":12,"Ibrahim":14.5}))
print(moyenne(5, 2, 10, 20, 12, 22)) print(moyenne(2, Amine= 12, Ibrahim = 14.5))

fonction):

 Le seul paramètre obligatoire est …. On compacte le reste des paramètres dans .............. s’il
s’agit
de paramètres non nommés et dans............ s’il s’agit de paramètres nommés.
Décompactage de paramètres (lors de l’appel de fonction):
def dire_bonjour(prenom, nom):
print("Bonjour", prenom, nom)

Passage de paramètres nommés Passage de paramètres non


d = {"nom": "Gayerie", "prenom": "David"} nommés s = ["David","Gayerie"]
dire_bonjour(**d) dire_bonjour(*s)
dire_bonjour(*s, *d)

Passage de paramètres non nommés et


nommés
s = ["David"]
d = {"nom": "Gayerie"}
dire_bonjour(*s, **d)

Rq. l’opérateur de décompactage * sur un dictionnaire passe seulement les ..de ce


dictionnaire
alors que ** passe ………………….

Afef SLIMANI 1
ISTIC Prog Python
$
Fonction anonyme : lambda Algo & Programmation

 Création puis exécution


f=lambda x : x*x*x;
f(10)
 Fonction exécutée lors de création
(lambda x : x*x*x)(10)
 Fonction qui utilise une fonction anonyme
def puissance(n):
return lambda x : x ** n

puissance(2)
puissance(2)(8)
puissance(8)(2)
 Fonction utilise lambda et compactage
def puissance(n):
return lambda *args : sum(args) ** n
puissance(2)(3)
puissance(2)(3,4)
puissance(2)()
 Fonction lambda avec map
my_list = [1, 2, 3, 4, 5]
print(list(map(lambda x: x > 2, my_list)))

Gestion des fichiers et exceptions

try:
file = open("[Link]", "r") [Link]("Hello
World!")
except IOError as e: print ("Erreur !!")
print ([Link],
[Link]) else:
print ("Contenu écrit dans le fichier avec succès")
[Link]()

try:
file = open("[Link]", "a") [Link]("Helloo World!")
finally:
print ("Malgré tout, je suis toujours exécuté ;)")
[Link]()

try:
x=int(input("Saisir un nombre pair différent de
2:\n")) assert(x%2==0)
if x==2:
raise ValueError()
except AssertionError :
print(x,"est impair")
except ValueError:
print("x doit être différent de 2!!")
else:
with open("[Link]","a") as
f: [Link](str(x))

Afef SLIMANI 2
ISTIC Prog Python
$
Algo & Programmation
Exercice 2

Écrire une fonction pair() qui accepte plusieurs nombres en argument et renvoie une
liste avec lesnombres pairs. Si on ne passe pas d’argument, elle renvoie None

Exercice 3

1. Écrire une fonction lambda f qui accepte trois paramètres a, b,et c. Cette fonction
retourne une liste de a tuples de deux valeurs val1 et val2 générées aléatoirement avec
val1<b et val2<c. Afficher la liste L obtenue.

NB. L’appel de la fonction crée doit être effectué par un dictionnaire de trois
éléments

2. Ouvrir un nouveau fichier « [Link] » et écrire quelques lignes où chacune contient 3


nombres séparés par des virgules. Déclencher l’exception FileNotFoundError si le
fichier n’existe pas.
3. Invoquer f sur chaque ligne du fichier « [Link] »

Exercice 4

Écrire une fonction qui retourne 1 si deux ensembles ens1, ens2 de chaines de deux
lettres sontcomplémentaires (comme 'AB' et 'BA'), 0 sinon, et qui déclenche une exception
1. Si les deux ensembles n’ont pas la même longueur
2. Si les deux chaines ne sont pas de deux lettres
Exemple : ens1={'AB', 'DA', 'KE'} et ens2={'EK', 'BA', 'AD'}
ens1 et ens2 sont complémentaires, donc la fonction retourne1

Afef SLIMANI 3

Vous aimerez peut-être aussi