0% ont trouvé ce document utile (0 vote)
11 vues123 pages

Introduction à la programmation Python

Le document présente une introduction à la programmation en Python, en détaillant son histoire, ses caractéristiques et son écosystème. Il aborde les éléments de base, les instructions élémentaires, conditionnelles et répétitives, ainsi que des exemples et exercices pratiques. Python est décrit comme un langage dynamique, orienté objet, avec une syntaxe concise et une large communauté de développeurs.

Transféré par

Night Fury
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)
11 vues123 pages

Introduction à la programmation Python

Le document présente une introduction à la programmation en Python, en détaillant son histoire, ses caractéristiques et son écosystème. Il aborde les éléments de base, les instructions élémentaires, conditionnelles et répétitives, ainsi que des exemples et exercices pratiques. Python est décrit comme un langage dynamique, orienté objet, avec une syntaxe concise et une large communauté de développeurs.

Transféré par

Night Fury
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

Programmation en langage Python

Pr. K. Doumi

[Link]@[Link]

1
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 1 / 111
Introduction

Le langage Python est crée en 1991 par Guido van Rossum (chez Google
maintenant )
Largement utilisé par :
Google
Yahoo
Youtube
...
Utilisé dans différentes disciplines, en particulier :
Big Data
Science de données
..

2
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 2 / 111
Introduction
Quelques caractéristiques

Typage dynamique
Langage de script et orienté objet
Code moins volumineux : 5 à 10 fois moins de ligne de code que
C/C++/Java/...
Gestion automatique de la mémoire(ramasse-miettes)
Multiplateformes
Vitesse de développement
Erreurs facilement repérables
Open Source ⇒ Grande communauté
Riche en terme de bibliothèque spécialisées
Facile à appréhender
3
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 3 / 111
Introduction
Écosystème Python

L’ensemble minimal nécessaire :


Un interpréteur Python (deux versions à ce jour sont 3.5 et 2.7)
Un éditeur, pour écrire des programmes qui seront exécutés par
l’interpréteur (Idle, Pyzo, Spyder, Jupyter, etc)
On travaille en général avec devant soi deux fenêtres principales : l’interpré-
teur et l’éditeur.

4
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 4 / 111
Éléments de base

5
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 5 / 111
Les opérateurs

6
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 6 / 111
Les instructions élémentaires

Les instructions élémentaires qui figurent le plus souvent dans tous les algo-
rithmes sont au nombre de trois :

L’affectation.
Les instructions d’entrée des données.
Les instructions de sortie des données.

7
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 7 / 111
Les instructions élémentaires
L’affectation

L’opération d’affectation permet d’assigner la valeur d’une expression à un


objet.
Syntaxe :
1 objet = expression

Exemple :
1 a = 5
2 b = 6
3 a , b = 5 , 6
4 a = a + b

8
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 8 / 111
Les instructions élémentaires
L’affectation

Exercice :
Soient x et y deux variables telles que x = 5 et y = 6.
Donner le script permettant d’échanger leurs contenues.

9
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 9 / 111
Les instructions élémentaires
Écriture de données

L’écriture de données permet d’afficher une valeur, une expression ou un


message sur l’écran.
Syntaxe :
1 print("texte")
2 print(expression)
3 p r i n t ( "t e x t e " , expression, " t e x t e " , . . . )

Exemple :
1 age, nom = 25, "Python"
2 print("Bonjour")
3 p r i n t ("J e m’appelle ",nom)
4 p r i n t ( ’ J \ ’ a i ’ , age , ’ ans’)

10
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 10 / 111
Les instructions élémentaires
Lecture de données

La lecture des données permet d’affecter aux variables, les valeurs lues au
clavier. Cette instruction interrompt le programme et attend que l’utilisateur
saisisse ce qu’il veut puis appuie sur la touche Entrée.
Syntaxe :
1 variable = input()
2 variable = input("Message")

Attention : Les valeurs retournées par la fonction input sont toujours de


type chaine de caractères(texte). Ainsi, pour convertir une variable vers un
autre type, il faut utiliser le nom du type comme une fonction .

11
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 11 / 111
Les instructions élémentaires
Lecture de données

Exécutons les scripts suivants :


Exemple 1 :
1 x = input("Entrer l e premier nombre : " )
2 y = input("Entrer l e deuxième nombre : " )
3 s = x + y
4 print("La somme est : " , s )

Exemple 2 :
1 x = int(input("Entrer l e premier nombre : " ) )
2 y =int(input("Entrer l e deuxième nombre : " ) )
3 s = x + y
4 print(La somme est : ’ , s )

Remarque : La fonction int() est remplacée par float() dans le cas où le


12
Pr. K. Doumi
nombre ([Link]@[Link]
à lire est un réel). Programmation en langage Python 18 octobre 2022 12 / 111
Les instructions conditionnelles
L’instruction if ... : ...

Dans de nombreuses applications, on exige une exécution des parties du


programme selon des conditions. C’est, ainsi, le rôle des instructions condi-
tionnelles.
Syntaxe :
1 i f condition:
2 Bloc_instructions

Si condition est vérifiée, le bloc d’instructions sera exécuté, sinon le


programme continue sans l’exécuter.
Il est possible de définir plusieurs conditions à remplir avec les
opérateurs and et or
13
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 13 / 111
Les instructions conditionnelles
L’instruction if ... : ...

Exemple : Soit le script suivant qui calcule et affiche la valeur absolue d’un
entier.

1 x = float(input("Entrer un nombre : " ) )


2 if x < 0 :
3 x = -x
4 print(x)

14
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 14 / 111
Les instructions conditionnelles
L’instruction if ... : ... else : ...

Syntaxe :
1 i f condition:
2 Bloc_instructions_1
3 else:
4 Bloc_instruction_2

Si la condition est vérifiée, c’est le Bloc_instructions_1 qui sera exécuté,


sinon c’est le Bloc_instructions_2
Exemple :
1 note = float(input())
2 i f note < 10 :
3 print("Non dmis")
4 else :
5 print("Admis") 15
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 15 / 111
Les instructions conditionnelles
L’instruction if ... : ... else : ...

Exercice :
Écrire un script qui demande un nombre réel, et qui vérifier si ce nombre est,
strictement négatif, strictement positif ou nul.

16
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 16 / 111
Les instructions conditionnelles
L’instruction if ... : ... elif ... : ... elif ... : ... else : ...

Syntaxe :
1 i f condition 1:
2 Bloc_instructions_1
3 e l i f condition 2:
4 Bloc_instruction_2
5 ....
6 e l i f condition n:
7 Bloc_instruction_n
8 else:
9 Bloc_instruction_n+1

17
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 17 / 111
Les instructions conditionnelles
L’instruction if ... : ... elif ... : ... elif ... : ... else : ...

Exemple :
1 x = float(input())
2 if x < 0 :
3 p r i n t ( x , "e s t négatif")
4 elif x > 0 :
5 p r i n t ( x , "e s t p o s i t i f " )
6 else:
7 p r i n t ( x , "e s t nul")

18
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 18 / 111
Les instructions conditionnelles
Exercices

Exercice 1 :
Soit x un nombre entier lu au clavier. Écrire un script qui vérifier si x est un
nombre pair ou impair.
Exercice 2 :
Écrire un script qui lit les coefficients d’une équation ax +b = 0 et qui affiche
les solutions possibles (selon les cas, c’est : (1) −b , (2) aucune solution ou
a
(3) tout x ∈ R est une solution)
Exercice 3 :
Écrire un script de résolution d’une équation du deuxième degré

ax2 + bx + c = 0
19
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 19 / 111
Les instructions répétitives
La boucle while

Syntaxe :
1 while condition:
2 Bloc_instructions

Les instructions seront exécutées tant que la condition est vérifiée.


Exemple :
1 mdp = input("Entrer l e mot de passe : " )
2 while mdp Ị= "abc":
3 print("Mot de passe incorrect")
4 mdp = input("Entrer l e mot de passe : " )
5 print("Bienvenue..")

20
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 20 / 111
Les instructions répétitives
La boucle while

Exercice 1 :
Comme le nombre de tentatives autorisées dans ce cas est illimité, proposer
une deuxième version où ce nombre sera limité à trois tentatives.
Exercice 2 :
Donner un script qui demande la valeur de n (un entier) et qui calcule la
valeur de la série : 1 + 2 + ... + n
Exercice 3 :
Donner un script qui demande la valeur de n (un entier) et qui calcule
n! = n ∗ (n − 1) ∗ ... ∗ 1

21
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 21 / 111
Les instructions répétitives
La boucle for

Syntaxe :
1 f o r element i n sequence :
2 Bloc_instructions

Exemple 1 :
1 f o r k i n [2 , 5 , 8 , 3 . 4] :
2 print(k)

Exemple 1 :
1 f o r k i n "BONJOR" :
2 print(k)

22
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 22 / 111
Les instructions répétitives
La boucle for

Exercice 1 :
En utilisant la boucle for, écrire un script calculant la somme : 1 + 2 + 3 +
4+ 5
Question : Comment faire maintenant pour calculer la somme 1+2+...+n,
avec n un entier quelconque à lire au clavier.
⇒ On aura besoin d’une séquence de valeurs 1, 2, 3, ...n que nous ne pouvons
pas générer explicitement.

23
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 23 / 111
Les instructions répétitives
La fonction range

La fonction range permet de générer une séquence de nombres entiers.


Exemples :
range(10) ⇒ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
range(5,10) ⇒ 5, 6, 7, 8, 9
range(4,13,2) ⇒ 4, 6, 8, 10, 12
range(10,5) ⇒ séquence vide
range(10,5,-1) ⇒ 10, 9, 8, 7, 6

Exemple :
En utilisant la boucle for, écrire un script permettant de calculer la somme
1 + 2 + ... + n, avec n un entier quelconque à demander.
24
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 24 / 111
Les instructions répétitives
Exercices

Exercice 1 : On se propose d’écrire un script de test de nombres parfaits.


Un nombre est dit parfait s’il est égal à la somme de ses diviseurs, 1 compris.
Exemple :
6 = 1 + 2 + 3, est un nombre parfait.
28 = 14 + 7 + 4 + 2 + 1, est un nombre parfait
Écrire un script qui permet de lire un entier au clavier, et de vérifier s’il est
parfait ou pas.
Exercice 2 :
Écrire un script qui vérifier si un nombre lu au clavier est un nombre premier
ou non.
25
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 25 / 111
Les instructions répétitives
Exercices

Exercice 3 : Écrire un script qui détermine la nième valeur un (n étant


fourni en donnée) de la suite définie comme suit :
(
u0 = 2
un+1 = un + 3 si n ≥ 0

Exercice 4 : La suite de Fibonacci est dénie par :

f0 = 0
f1 = 1
fn = f n−1 + fn−2 si n ≥ 2

Écrire un script calculant le néme terme (lu au clavier) de cette suite


26
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 26 / 111
Les instructions répétitives
Exercices

Exercice 5 :
Écrire un script permettant de calculer la valeur approchée de π en utilisant
le développement suivant :

Σ
+∞
(−1) k
π=4
2k + 1
k=0

1
et en s’arrêtant lorsque le terme 2 k+1 du développement soit plus petit qu’un
réel epsilon(de votre choix).

27
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 27 / 111
Les fonctions

Les fonctions permettent de regrouper plusieurs instructions dans un bloc


qui sera appelé grâce à un nom. Cette programmation dite "modulaire" se
justifie pour de multiples raisons :
Un programme écrit dans un seul bloc devient difficile à comprendre
dès qu’il dépasse une ou deux pages de code.
La programmation modulaire permet d’éviter des séquences
d’instructions répétitives.

28
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 28 / 111
Les fonctions

Syntaxe :
1 def nom_de_la_fonction(paramètres):
2 Bloc_instructions

Si l’on décrit la ligne de définition de la fonction, on trouve :


def : mot-clé qui est l’abréviation de ’define’ (définir, en anglais).
Le nom de la fonction : qui se nomme exactement comme une variable.
La liste des paramètres ou arguments : qui seront fournis lors de
l’appel de la fonction.

Les deux points : qui clôturent la ligne.

29
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 29 / 111
Les fonctions
Exemples

Exemple 1 :
1 def carre(x):
2 return x*x

Exemple 2 :
1 def constante():
2 return 5

Exemple 3 :
1 def s a l ue r ( ) : #Fonction sans paramètres
2 print(’bonjour’)

30
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 30 / 111
Les fonctions
Passage des paramètres

Chaque argument de la définition de la fonction correspond, dans l’ordre, à


un paramètre de l’appel. La correspondance se fait par affectation.
Exemple :
1 def fonction(x, y , z ) :
2 return ( x , y , z)

Appels :
1 f ( 5 , 3 , 7) # x=5, y=3 e t z=7
2 f ( 2 , "a b c " , [ 1 , 2 , 3 ] ) # x=2, y="abc" e t z=[1,2,3]

31
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 31 / 111
Les fonctions
return

L’instruction return précise la valeur que fournira la fonction à la fin de son


travail. Elle a pour effet d’interrompre le déroulement de la fonction.
Soit la fonction suivante qui vérifier si un nombre est pair ou impair :
Exemple :
1 def parite(x):
1 def parite(x):
2 i f x%2==0:
2 i f x%2==0:
3 return True
3 return True
4 else:
4 return False
5 return False

32
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 32 / 111
Les fonctions
Exemple

Exercice :
Un nombre est dit premier si il n’a que deux diviseur 1 et le nombre lui-même.
Autrement dit, il suffit de trouver un autre diviseur entre 2 et n − 1 pour
conclure que le nombre n’est pas premier.
Écrire la fonction premier qui reçoit un entier en paramètres et qui retourne
True si ce dernier est un nombre premier et False sinon.

33
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 33 / 111
Les fonctions
Exemple

1 def premier(n):
2 f o r i i n range(2,n) :
3 i f n%i==0 :
4 return False
5 return True

Si un entier i devise n, la valeur False sera retournée ce qui interrompra ainsi


la fonction. Sinon c’est la valeur True qui est retournée.

34
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 34 / 111
Les fonctions
print vs return

Exemple 2 :
Exemple 1 :
1 def carre(x):
1 def carre(x):
2 print(x*x)
2 return x*x
Exécution :
Exécution :
1 a=carre(5)
1 a=carre(5)
2 print(a)
2 print(a)
3 m=a+4
3 m=a+4
4 print(m)
4 print(m)
Résultat :
Résultat :
25
25
None
9
Erreur ! 35
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 35 / 111
Les fonctions
les valeurs par défaut

Il est possible de préciser des valeurs par défaut pour les paramètres de la
fonction.
Exemple :
1 def f ( a =1 , b=2, c=3):
2 print ("a = " , a , "b = " , b , " c = " , c)

Exécution :
1 f ( ) # a=1 b=2 c=3
2 f ( 6 ) # a=6 b=2 c=3
3 f ( 4 , 5 ) # a=4 b=5 c=3
4 f ( 4 , 5 , 6 ) # a=4 b=5 c=6
5 f(b=5) # a=1, b=5, c=3
6 f ( c = 8 , b=4) # a=1 b=4 c=8
36
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 36 / 111
Les fonctions
Porté des variable

Les noms des objets sont crées lors de leur première affectation, mais ne sont
visibles que dans certaines régions de la mémoire.
Variables globales : ils ont une portée qui s’étend sur l’ensemble du
programme.
Variables locales : ils ont une portée qui se limite au corps de la
fonction où il sons définis.

37
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 37 / 111
Les fonctions
Porté des variable

1 x = 5
2 def f ( ) :
3 x = 7
1 x = 5 4 print("x de f = ",x)
1 x = 5 2 def f ( ) : 5 def g ( ) :
2 def f ( ) : 3 x = x + 3 6 x = 8
3 x = 7 4 f() 7 print("x de g = ",x)
4 f() 5 print(x) 8 f()
5 print("x=",x)
9 g()
6 Résultat : Résultat :
10 print("x global=",x)
7 x = 5 Erreur, x est appelé avant 11 Résultat :
affectation 12 x de f = 7
13 x de g = 8
14 x global = 5
38
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 38 / 111
Les fonctions
Porté des variable

Référencement d’une variable global dans une fonction


Si on souhaite faire référence à une variable globale dans une fonction, il
suffit de la précéder par le mot clé global
1 x = 5
1 x=5
2 def f ( ) :
2 def f ( ) :
3 global x
3 x=7
4 x=7
4 f()
5 f()
5 print("x=",x)
6 print("x=",x)

Résultat :
Résultat :
1 x = 5
1 x = 7

39
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 39 / 111
Les fonctions
Porté des variable

Exemple : afficher le nombre d’appel d’une fonction


1 n=1
1 def f ( ) :
1 n=1 2 def f ( ) :
2 n=1
2 def f ( ) : 3 global n
3 print( ’appel’ ,n)
3 print("appel",n) 4 print(’appel’ ,n)
4 n += 1
4 n += 1 5 n += 1
5 f()
5 f() 6 f()
6 f()
6 f() 7 f()
7 f()
7 f() 8 f()
appel1
erreur, n est appelé appel1
appel1
avant affectation appel2
appel1
appel3
40
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 40 / 111
Les fonctions
La récursivité

Une fonction est dite récursive si elle est définie par une relation de récur-
rence. Autrement-dit, il fait appel à elle-même.
Exemple : La fonction factorielle

Définition itérative : Définition récursive :

Yn (
fact(n) = k 1 si n = 0
fact(n) =
k=1
n ∗ fact(n − 1) sinon

41
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 41 / 111
Les fonctions
La récursivité

Exemple : La fonction factorielle

Définition itérative : Définition récursive :


1 def f a c t ( n ) : 1 def f a c t ( n ) :
2 p=1 2 i f n==0:
3 f o r k i n range(1,n+1): 3 return 1
4 p=p*k 4 return n*fact(n-1)
5 return p

42
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 42 / 111
Les fonctions
La récursivité

Attention :
Les fonctions récursives sont très couteuses en terme d’espace mémoire.
Explication :
Chaque appel de fact entraîne une allocation d’espace pour les variables et
les paramètres de la fonction. Or chaque nouvel appel de fact, "à l’intérieur"
de fact, provoque une telle allocation, sans que les emplacements précédents
soient libérés.

43
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 43 / 111
Les fonctions
Exercices

Exercice 1 :
Écrire la fonction définie par :

somme(n) = 1 + 2 + 3 + . . . + n

1 En utilisant une fonction itérative.


2 En utilisant une fonction récursive.

44
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 44 / 111
Les fonctions
Exercices

Exercice 2 :
Sans utiliser l’opérateur **, Écrire une fonction qui reçoit en arguments un
nombre réel et un entier, et qui renvoi le premier à la puissance du 2éme.
1 En utilisant une fonction itérative.
2 En utilisant une fonction récursive.

45
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 45 / 111
Les fonctions
Exercices

Exercice 3 :
Écrire une fonction qui vérifie si un entier passé en argument est un nombre
premier ou non (return True si oui et False sinon).

46
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 46 / 111
Les fonctions
Exercices

Exercice 4 :
En utilisant la fonction définie dans l’exercice No 3, écrire une deuxième
fonction qui affiche tous les nombres premiers compris entre deux nombres
entiers fournis en argument.

47
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 47 / 111
Les fonctions
Exercices

Exercice 5 :
La suite de Fibonacci est dénie par :

f0 = 0
f1 = 1
fn = f n−1 + fn−2 si n ≥ 2

1 Ecrire une fonction récursive f (n) calculant le terme d’indice n de


cette suite.
2 Quel est le nombre d’appels à la fonction f sont-ils faits pour calculer
f (5) ?
48
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 48 / 111
Les listes
Définition

C’est une suite de valeurs où chaque élément est repéré par un "indice"
précisant sa position au sein de l’ensemble.
Initialisation :
1 L=[]
1 L=[c f o r c i n ’ABCDE’]
2 L=list()
2 L=3*[3,4]
3 L=[1,4,3,7]
3 L=[3,4,5]+[70,80,90]
4 L=[4,’ABC’ ,[4,7,5]]
4 L=[int(input()) f o r i i n range(5)]
5 L=list(range(2,10))
6 L = l i s t ((4 , 5, 6))
7 L=[2*x f o r x i n range(5)]

49
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 49 / 111
Les listes
Accès aux éléments d’une liste

Slicing :
1 - L[2:5] # [30, 40, 50]
2 - L [ 4 : ] # [50,60,70]
1 L=[10,20,30,40,50,60,70] 3 - L [ : 4 ] # [10,20,30,40]
2 - L[0] # 10 4 - L [ : ] # [10,20,30,40,50,60,70]
3 - L[len(L)] # Erreur 5 - L[2:7:2] # [30,50,70]
4 - L[len(L)-1 ] # 70 6 - L [ : : 2 ] # [10, 30, 50, 70]
5 - L[-1 ] # 70 7 - L [ : : - 1 ] # [70,60,50,40,30,20,10]

50
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 50 / 111
Les listes
Deux noms pour un même tableau

1 L=[1,2,3] 1 L=[1,2,3] 1 L=[1,2,3]


2 T=L 2 T=L[:] 2 T=[Link]()
3 T[0]=5 3 T[0]=5 3 T[0]=5
4 print(L) 4 print(L) 4 print(L)
5 print(T) 5 print(T) 5 print(T)
6 6 6
7 [5,2,3] 7 [1,2,3] 7 [1,2,3]
8 [5,2,3] 8 [5,2,3] 8 [5,2,3]

51
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 51 / 111
Les listes
Parcours d’une liste

- for indice in range(0, Taille) - for element in Liste


1 def somme(L): 1 def somme(L):
2 s=0 2 s=0
3 f o r i i n range(0, len(L)): 3 for i in L
4 s=s+L[i] 4 s=s+i
5 return s 5 return s

52
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 52 / 111
Les listes
Parcours d’une liste

- for indice in range(0, Taille) - for element in Liste


1 L=[10, 20, 30, 40] 1 L=[10, 20, 30, 40]
2 f o r i i n L: 2 f o r i i n reversed(L):
3 p r i n t (i) 3 p r i n t (i)
4 4
5 10 5 40
6 20 6 30
7 30 7 20
8 40 8 10

53
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 53 / 111
Les listes
Modifier une liste passée en paramètres

Exemple : Remettre une liste à zéro


1 def raz(L): 1 def raz(L):
2 f o r e i n L: 2 f o r i i n range(len(L)):
3 e=0 3 L[i]=0
4 L=[1,2,3] 4 L=[1,2,3]
5 raz(L) 5 raz(L)
6 print(L) 6 print(L)
7 7
8 Résultat: 8 Résultat:
9 [ 1 , 2 , 3] 9 [ 0 , 0 , 0]

54
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 54 / 111
Les listes
Les méthodes et opérateurs

1 - x <not> i n L # True s i x est élément de L e t False sinon


2 - [Link](x) # nombre d’occurrences de x
3 - [Link](x) # Indice de l a première occurrence de x (erreur s i x
n ’ e s t pas dans L)
4 - L . i n s e r t ( i , x) # insère l’élément x en position i dans l a l i s t e
5 - [Link](x) # Supprime l a première occurrence de x (erreur s i x
n ’ e s t pas dans L .
6 - [Link](i) # Retourne e t supprime l’élément L [ i ] de l a l i s t e L ou
l e dernier s i aucun indice n ’ e s t f o u r n i t .
7 - [Link](x) # ajouter x à l a f i n de l a l i s t e
8 - [Link](<reversed=True>): # t r i e r l a l i s t e par ordre croissant
(par defaut)

NB : Taper dir(list) pour afficher les autres fonctions et help(fonction) pour comprendre.
55
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 55 / 111
Les listes
Exercices

Exercice 1 :
Écrire une fonction smul(m,l) à deux paramètres, un nombre et une liste de
nombres, qui multiple chaque élément de la liste par le nombre et renvoie
une nouvelle liste.
Exemple : smul(2, [1, 2, 3]) renvoie [2, 4, 6].
Exercice 2 :
Écrire une fonction vsom(u,v) qui prend en paramètre deux listes de nombres
de même longueur et qui renvoie une nouvelle liste constituée de la somme
terme à terme de ces deux listes.
Exemple : vsom([1, 2, 3], [4, 5, 6]) renvoie [5, 7, 9].

56
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 56 / 111
Les listes
Exercices

Exercice 3 :
Écrire la fonction binaire(n) permettant de retourner la représentation bi-
naire, sous forme d’une liste, correspondant au nombre n passé en argue-
ments.
Donner une version itérative.
Donner une version récursive.

Exercice 4 :
Sans utiliser la fonction prédéfinie max, définir la fonction maximum(l) per-
mettant de calculer le maximum d’une liste l .
Donner une version itérative.
Donner une version récursive.
57
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 57 / 111
Les listes de listes
Les matrices

On peut choisir de représenter une matrice de dimensions (n, p) par une liste
de taille n, dont les éléments sont des listes de taille p.
Exemple : Soit la matrice suivante :
!
0 1 2
3 4 5
peut être définie en Python par le tableau M ci-après :
1 M = [ [ 0 , 1 , 2 ] , [ 3 , 4 , 5]]

La valeur de l’élément mij est obtenue avec l’expression M[i ][j].

58
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 58 / 111
Les listes de listes
Les matrices

1 - v=[1,2,3]
2 - L=v+v # ou L=2*v ou M=[v f o r i i n range(3)]
3 - L # [1,2,3,1,2,3]
4 - M=[v]+[v]+[v] # ou M=3*[v] ou M=[v f o r i i n range(3)]
5 - M # [[1,2,3],[1,2,3],[1,2,3]]
6 - M[0][0]=44
7 - M # [[44,2,3],[44,2,3],[44,2,3]]

59
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 59 / 111
Les listes de listes
Les matrices

Création :
1 - M= [[1 ,2 ,3 ]+ [1 ,2,3 ]+[1,2 ,3]] # ou M=3*[[1,2,3]] ou M=[[1,2,3]
f o r i i n range(3)]
2 - M # [[1,2,3],[1,2,3],[1,2,3]]
3 - M[0][0]=4
4 - M # [[4,2,3],[1,2,3],[1,2,3]]

Une autre méthode :


1 - M=[[i+j f o r i i n range(1,4)] f o r j i n range(1,4)]
2 - [ [ 2 , 3 , 4 ] , [ 3 , 4 , 5 ] , [ 4 , 5 , 6]]

60
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 60 / 111
Les listes de listes
Les matrices

Exercice 1 : La trace d’une matrice carrée est la somme des valeurs situées
dans la diagonale. Écrire la fonction trace(A) qui calcule la trace de la matrice
A passée en paramètres.
Exercice 2 :
Une matrice A = (ai,j ) est dite symétrique si ∀i, j ai,j = aj,i
Écrire la fonction symetrie(A) qui retourne True si la matrice carrée A passée
en arguments est une matrice symétrique et False sinon.

61
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 61 / 111
Les listes de listes
Les matrices

Exercice 3 :
1. Écrire une fonction qui calcule et retourne la somme de deux matrices
passées en paramètres.
2. Tester votre fonction sur des exemples de votre choix
Exercice 4 :
1. Écrire une fonction qui calcule et retourne la transposé d’une matrice
passée en paramètres.
2. Tester votre fonction sur une matrice de votre choix

62
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 62 / 111
Les tuples
Définition

Un tuple est une séquence non modifiable de valeurs. C’est une séquence
comme les listes, la seule différence, c’est qu’il n’est pas modifiable.

63
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 63 / 111
Les tuples
Création

On peut créer un tuple par insertion de valeurs entre deux parenthèses sépa-
rées par virgules.
Exemple :
1 >>> tuple1 = (’E1234’, ’ N a c i r i Karim’, 18)
2 >>> tuple2 = ( ’ R a b a t ’ , ’Casablanca’)
3 >>> tuple3 = ( 1 , 2 , 3 , 4 , 6 , 50)
4 >>> tuple4 = (12,) # n’oubliez pas l a virgule après l a valeur.
5 >>> tuple5= ( ) # tuple vide

64
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 64 / 111
Les tuples
Accès

Comme toutes les autres séquences, pour accéder aux valeurs d’un tuple, on
utilise des crochets :
Exemple :
1 >>> T = (’E1234’, ’ N a c i r i Karim’, 18)
2 >>> T[0]
3 E1234
4 >>> T[1]
5 Naciri Karim
6 >>> T[2]
7 18

65
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 65 / 111
Les tuples
Slicing dans les tuples

Comme pour toutes les autres séquences, on peut accéder aux sous-tuples
d’un tuple en utilisant deux indices séparés par " : "
Exemple :
1 >>> T = ( ’AB’ ,56,’Rabat’ ,’Maroc’,14.6,55,’CPGE’,’Informatique’ )
2 >>> T[2:5]
3 ( ’ R a b a t ’ , ’ M a r o c ’ , 14.6)
4 >>> T[3:]
5 ( ’ M a ro c’ , 1 4 . 6 , 55, ’CPGE’ , ’Informatique’)
6 >>> T[:3]
7 ( ’ A B ’ , 56, ’Rabat’)
8 >>> T [ - 1:]
9 (’Informatique’ ,)
10 >>> T[-1:3:-1 ]
66
Pr.11 (’Informatique’
K. Doumi , ’CP G
([Link]@[Link] ) E Programmation
’ , 55, 14.6) en langage Python 18 octobre 2022 66 / 111
Les tuples
Opérations de base

Comme pour les listes et chaines de caractères, on peut également utiliser


les opérateurs " + " et " * " sur les tuples :
Exemple :
1 >>> l e n ( ( 1 , 2 , 3 )) # Nombre d’éléments d’un tuple # 3
2 >>> (1,2,3)+(4,5,6) # Concaténation de tuples #(1,2,3,4,5,6)
3 >>> 3*(1,2)
4 ( 1 , 2 , 1 , 2 , 1 , 2)
5 >>> ’Rabat’ i n ( ’ R a b a t ’ , ’ A g a d i r ’ , ’Marrakech’) # True
6 >>> f o r x i n ( ’ R a b a t ’ , ’ A g a d i r ’ , ’Marrakech’) : # Parcourir un
tuple
7 print(x)
8 Rabat Agadir Marrakech

67
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 67 / 111
Les ensembles
Définition

Un ensemble en Python est une collection d’objets sans répétition et sans


ordre.
Ce n’est pas une séquence !
C’est une suite d’éléments séparés par des virgules et délimités par des
accolades.
Les éléments peuvent être de types quelconques.
Exemples :
1 >>> E1 = { 5 , 3 , - 8 , 2 }
2 >>> E2 = { ’ o ’ , ’ e ’ , ’ y ’ , ’ u ’ , ’ a ’ , ’ i ’ }
3 >>> E3 = {5,’CPGE’ ,(3,-2 ) , 7 . 4 }
4 >>> E4 = s e t ( ) # Ensemble vide (Attention : { } qui crée un
dictionnaire)
68
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 68 / 111
Les ensembles
Création

1 >>> E = { 5 , 2 , 3 , 1 }
2 >>> E
3 { 1 , 2 , 3 , 5}
4 >>> {x*x f o r x i n range(20) i f x % 3 == 0}
5 >>> E
6 { 0 , 9 , 36, 81, 144, 225, 324}
7 >>> e t ( ’ f a b f c d ef g ’ )
8 { ’ a ’ , ’ b ’ , ’ c ’ , ’ d ’ , ’ e ’ , ’ f ’ , ’g’}
9 >>> s e t ( [ 5 , 2 , 5 , 6 , 2 ] )
10 { 2 , 5 , 6}

Remarque : Les éléments d’un ensemble ne sont pas numérotés. D’où, il


est impossible d’utiliser une notation comme e[i ] puisque parler de l’élément
numéro i n’a pas de sens!
69
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 69 / 111
Les ensembles
Méthodes

add : Add an element to a set.


clear : Remove all elements from this set.
copy : Return a shallow copy of a set.
difference : Return the difference of two or more sets as a new set.
discard : Remove an element from a set if it is a member.
intersection : Return the intersection of two sets as a new set.
isdisjoint : Return True if two sets have a null intersection.
issubset : Report whether another set contains this set.
issuperset : Report whether this set contains another set.
pop : Remove and return an arbitrary set element. (Raises KeyError if
the set is empty).
remove : Remove an element from a set ; it must be a member(If the 70

Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 70 / 111


Les ensembles
Méthodes

Question : Afficher toutes les méthodes des ensembles ainsi que leurs
description tout en essayant de comprendre comment fonctionnent tout en
les manipulant avec des exemples de votre choix.

71
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 71 / 111
Les dictionnaires
Définition

Un dictionnaire est une structure de données qui permet de stocker plusieurs


valeurs y compris des tuples, des listes ou même encore d’autres dictionnaires.
L’utilité des dictionnaires, c’est qu’ils nous permettent de stocker des valeurs
en utilisant nos propres indices, ainsi il suffit de fournir l’indice pour accéder
à l’information stockée avec cet indice.

72
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 72 / 111
Les dictionnaires
Création

Un dictionnaire, appelé aussi un "tableau associatif ", est une séquence de


paires "clé : valeur " séparées par virgules et mises entre accolades.
Exemple :
1 dict1 = {’C451236’ : ’Anabih i s s a ’ , ’E985477’ : ’Amal Abbassi’ }
2 dict2 = { ’ a ’ : 1 , ’ b ’ : 2 , ’ c ’ : 3 , ’ d ’ : 4 }
3 dict3 = {’name’: ’Ansari Imad’}
4 dict4 = { } # dictionnaire vide

73
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 73 / 111
Les dictionnaires
Accès

Comme toutes les autres séquences pour accéder aux valeurs d’un diction-
naire, on utilise les crochets sauf qu’au lieu d’un indice, on utilise une clé :
Exemple :

1 >>> etudiant = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’, ’ A g e ’ : 18}


2 >>> etudiant[’CNE’]
3 ’E1234’
4 >>> etudiant[’Nom’] # Récupérer l e nom de l’é tud ia nt
5 ’ N a c i r i Karim’
6 >>> etudiant[’Age’]
7 18

NB : Une Erreur KeyError est générée si on fourni une clé qui n’existe pas
dans le dictionnaire
74
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 74 / 111
Les dictionnaires
Les dictionnaires sont modifiables (mutables)

On peut mettre à jour un dictionnaire par ajout de nouvelle valeur, modifier


des valeurs existantes ou supprimer des valeurs.

75
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 75 / 111
Les dictionnaires
Les dictionnaires sont modifiables (mutables)

Ajout de valeurs :
1 >>> etudiant = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’,
’ A g e ’ : 18}
2 >>> e t u d i a n t [ ’ V i l l e ’ ] = ’Rabat’

⇒ La clé ’Ville’ n’existe pas dans le dictionnaire etudiant donc elle va


être ajoutée avec la valeur Rabat.

76
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 76 / 111
Les dictionnaires
Les dictionnaires sont modifiables (mutables)

Modification de valeurs :
1 >>> etudiant = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’,
’ A g e ’ : 18}
2 >>> etudiant[’Age’] = 22

⇒ La valeur de la clé age va être modifiée en 22.

77
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 77 / 111
Les dictionnaires
Les dictionnaires sont modifiables (mutables)

Suppression de valeurs :
1 >>> etudiant = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’,
’ A g e ’ : 18}
2 >>> del e t u d i ant [ ’ag e’ ] # supprimer l a paire de c l e age
3 >>> [Link]() # vider l e dictionnaire
4 >>> del etudiant # supprimer l e dictionnaire tout entier

78
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 78 / 111
Les dictionnaires
Opérations de bases sur les dictionnaires

Exemple :
1 >>> etudiant = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’, ’ A g e ’ : 18}
2 >>> len(etudiant) # Nombre d’éléments d’un dictionnaire
3 3
4 >>> ’CNE’ i n etudiant # Teste d’appartenance d’une clé
5 True
6 >>> f o r i i n etudiant : # Parcourir l e s c l é s du dictionnaire
7 p r i n t (i)
8 CNE Nom Age
9 >>> f o r i i n etudiant : # Parcourir l e s valeurs du dictionnaire
10 print(etudiant[i])
11 E1234 Naciri Karim 18

79
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 79 / 111
Les dictionnaires
Manipulation des dictionnaires (méthodes)

Python inclut des méthodes de manipulation des dictionnaires :


Soit le dictionnaire suivant :

1 D = { ’ C N E ’ : ’E1234’, ’Nom’: ’ N a c i r i Karim’, ’ A g e ’ : 18}

Expression Description
[Link]() Vide le dictionnaire etudiant
[Link]() Retourne une copie du dictionnaire etudiant
[Link](keys, va- Crée et retourne un dictionnaire à partir des
lues) listes keys et values

80
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 80 / 111
Les dictionnaires
Manipulation des dictionnaires (méthodes)

Expression Description
Retourne la valeur de la clé key si ça existe
[Link](key, default) dans le dictionnaire, si non la fonction re-
tourne la valeur default
[Link]() Retourne la séquence de paires (clé, valeur)
[Link]() Retourne la liste des clés du dictionnaire
Retourne la liste de valeurs stockées dans le
[Link]()
dictionnaire

81
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 81 / 111
Les dictionnaires
Exercice

Exercice 1 : Écrire la fonction toListe(D) qui reçoit un dictionnaire en


paramètres et qui permet de le convertir en liste de listes dont la première
colonne sont les clés et la deuxième colonne les valeurs.
Exercice 2 :
Écrire la fonction frequence(L) qui reçoit une liste de nombres en paramètres
et qui retourne un dictionnaire dont les clés sont les différents nombres de
la liste et les valeurs la fréquence de chaque nombre.

82
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 82 / 111
Les chaines de caractères
Définition

Une chaîne de caractères est une suite quelconque de caractères délimités soit
par des apostrophes (simple quote), soit par des guillemets (double quote)
ou par triples guillemets ou de triples apostrophes dans le cas où la chaîne
de caractères est sur plusieurs lignes.

83
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 83 / 111
Les chaines de caractères

Exemple :
1 ch1 = " " # chaine vide
2 ch2 = ’ J e suis en cla sse MPSI3’
3 ch3 = " J ’ a i une bonne note en informatique"
4 ch4 = ’"Python" est langage de programmation’
5 ch5 = " " " Trois principales types de séquences existent en python:
6 - Les l i s t e s ,
7 - Les tuples,
8 - Les chaines """

84
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 84 / 111
Les chaines de caractères
Exemple

Remarques :
Les chaînes de caractères ont beaucoup de points communs avec les listes,
à savoir : la longueur avec len, l’accès aux éléments, la concaténation, le
slicing, le parcours... etc.
1 >>> s =’bonjour’
2 >>> len(s)
3 7 # i l y a bien 7 caractères dans l a chaîne s
4 >>> s[1]
5 ’ o ’ # comme l e s l i s t e s , l e s indices des chaînes commencent àzéro
6 >>> s + ’ UM6P’# remarquer l’espace avant UM6P
7 ’bonjour UM6P’
8 >>> s[1:4] # sous chaîne situé entre l e caractère 1 e t 4 (exclu)
9 onj
85
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 85 / 111
Les chaines de caractères
Exemple

Une différence importante avec les listes : c’est que les chaînes de caractères
sont non modifiables.

1 >>> ch=’BONJOUR’
2 >>> ch[0]=’D’ # tentation de modifier ’ B ’ par ’ D ’
3 TypeError: ’ s t r ’ object does not support item assignment

86
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 86 / 111
Les chaines de caractères
Les caractères spéciaux

Le caractère ’\’ (antislash) permet d’insérer un certain nombre de codes


spéciaux dans une chaîne de caractères :
\n : insérer des sauts de ligne dans une chaîne.
\′ : insérer des apostrophes dans une chaîne délimitée par des
apostrophes.
\” : insérer des guillemets dans une chaîne délimitée par des
guillemets.

\\ : insérer des antislashs dans une chaîne.

87
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 87 / 111
Les chaines de caractères
Codage des chaînes de caractères

On attribue à chaque caractère un nombre appelé code, qui permet de le


repérer. La norme d’encodage que l’on utilisera est UTF-8, qui est rétro-
compatible avec les codages ASCII et unicode. Par exemple, les lettres ma-
juscules ’A’, ’B’,..., ’Z’ ont pour code 65, 66, . . . , 90.

88
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 88 / 111
Les chaines de caractères
Codage des chaînes de caractères

La fonction ord
La fonction ord («ordinal») de Python permet d’obtenir le code correspon-
dant à un caractère.
Exemple :
1 >>> ord(’A’)
2 65
3 >>> o r d ( ’a’)
4 97
5 >>> ord(’#’)
6 35

89
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 89 / 111
Les chaines de caractères
Codage des chaînes de caractères

La fonction chr
Inversement, on peut récupérer le caractère correspondant à un code avec la
fonction chr.
Exemple :
1 >>> chr(65)
2 A
3 >>> chr(97)
4 a
5 >>> chr(35)
6 #

90
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 90 / 111
Les chaines de caractères
Les méthodes

La méthode count est une méthode prédéfinie en python. Elle permet de


compter l’occurence d’un caractère dans une chaîne de caractères.
Exemple :
1 >>> s = ’Bonjour python’
2 >>> s . c o u n t ( ’o’ )
3 3

91
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 91 / 111
Les chaines de caractères
Les méthodes

La méthode isupper est une méthode prédéfinie en python. Elle permet de


vérifier si une chaine de caractères est en majuscule.
Exemple :
1 >>> s = " J ’ A I 20 ANS"
2 >>> [Link]()
3 True
4 >>> ch = " J ’ a i 20 ANS"
5 >>> [Link]()
6 False

92
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 92 / 111
Les chaines de caractères
Les méthodes

La méthode upper permet de convertir une chaine de caractères en majus-


cule.
Exemple :
1 >>> s = "J ’ A I 20 ANS"
2 >>> [Link]()
3 J ’ A I 20 ANS
4 >>> s = " J ’ a i 20 ANS"
5 >>> [Link]()
6 J ’ A I 20 ANS

93
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 93 / 111
Les chaines de caractères
Les méthodes

La méthode split est aussi une méthode prédéfinie en python. Elle permet
de transformes une chaine de caractères en une liste.
Exemple :
1 >>> s="Je suis en prepas"
2 >>> s . s p l i t ( )
3 [’Je’,’suis’,’en’,’prepas’]
4 >>> s="Je:suis:en:prepas"
5 >>> s . s p l i t ( ’ : ’ )
6 [’Je’,’suis’,’en’,’prepas’]

94
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 94 / 111
Les chaines de caractères
Les méthodes

De la même façon pour isupper et upper, deux méthodes supplémentaires


permettent d’effectuer l’opération inverse. Autrement-dit, elles permettent
de vérifier si une chaine est minuscule ou de convertir une chaîne en minus-
cule. Il s’agit des méthodes islower et lower.

95
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 95 / 111
Les chaines de caractères
Exercices

Exercice 1 :
Une chaîne de caractères est dite palindrome si elle se lit de la même façon
dans les deux sens (Exemple : ’laval’, ’ELLE’,’ressasser’).
Définir la fonction palindrome permettant de vérifier si la chaîne passée en
argument est un palindrome (Retourne True si oui et False sinon).
Exemple :
1 >>> s = ’ELLE’
2 >>> palindrome(s)
3 True
4 >>> s = " J ’ a i 20 ANS"
5 >>> palindrome(s)
6 False
96
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 96 / 111
Les chaines de caractères
Exercice

Exercice 2 :
En utilisant la fonctions chr, écrire une fonction ascii recevant deux entiers
en paramètres et retournant la table des caractères dont leurs codes ascii est
entre les deux entiers passés en paramètres.
Exemple :
1 >>> ascii(66,70)
2 B 66
3 C 67
4 D 68
5 E 69
6 F 70

97
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 97 / 111
Les fichiers
Définition

Un fichier texte est un fichier qui contient des caractères et des espaces
organisés en lignes successives. Ces lignes étant séparées les unes des autres
par un caractère spécial non imprimable appelé «marqueur de fin de ligne».

98
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 98 / 111
Les fichiers
Opérations sur les fichiers

Ouvrir le fichier en appelant la fonction open qui renvoie un objet


particulier fournissant des méthodes spécifiques.
Accéder au fichier pour lire son contenu et à écrire dedans.
Fermeture à la fin en appelant la fonction close.

99
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 99 / 111
Les fichiers
Ouverture d’un fichier : la fonction open.

Syntaxe :
1 fichier=open(chemin, mode)

chemin : l’emplacement où se trouve fichier


mode : mode d’ouverture
‘r’ : Ouverture en lecture (READ).
‘w’ : Ouverture en écriture (WRITE), à chaque ouverture le contenu du
fichier est écrasé. Si le fichier n’existe pas python il sera crée.
‘a’ : pour une ouverture en mode ajout à la fin du fichier (APPEND).
Si le fichier n’existe pas python le crée.

100
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 100 / 111
Les fichiers
Ecriture dans fichier : la méthode write.

La méthode write réalise l’écriture dans un fichier texte.


Exemple :
1 f= open(’[Link]’ ,’a’)
2 [Link]( ’Bonjour, f i c h i e r Ị ’ )
3 [Link]( "Quel beau temps, aujourd’hui Ị " )

Remarque :
Lafonction write reçoit exactement un unique argument qui doit
obligatoirement être une chaine de caractère.
La fonction write ne peut être appelée que si le fichier est ouvert en
mode ‘w’ ou ‘a’
101
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 101 / 111
Les fichiers
Lecture séquentielle d’un fichier : la méthode read

La méthode read() permet de lire d’un fichier.


Si on utilise cette méthode sans aucun argument, la totalité du fichier
est transférée.
Elle peut également être utilisée avec un argument indiquant le nombre
de caractères à lire, a partir de la position déjà atteinte dans le fichier.
Remarque :
La fonction read() ne peut être appelée que si le fichier est ouvert en
mode ‘r’
S’il ne reste pas assez de caractères pour satisfaire la demande, la
lecture s’arrête tout simplement a la fin du fichier.
Si la fin du fichier est déjà atteinte,la fonction renvoie une chaîne vide.
102
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 102 / 111
Les fichiers
Fermeture d’un fichier : la méthode close.

Cette méthode permet de refermer le fichier après usage.


Exemple :

1 [Link]()

103
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 103 / 111
Les fichiers
Méthodes supplémentaires

La méthode readline : Cette méthode permet de extraites les lignes


séparément les unes des autres.
La méthode readlines : Cette méthode transfère les lignes restantes
d’un fichier dans une liste de chaines.
La méthode seek(position) : Elle permet de placer le curseur dans
une position donnée.

Remarque :
Une fois arrivé à la fin du fichier, la méthode readline renvoie une chaine
vide, tandis que la méthode readlines renvoie une liste vide.

104
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 104 / 111
Les fichiers
Exercices

Exercice 1 :
Écrire la fonction copier qui reçoit en paramètres les noms de deux fichiers,
dont le premier est supposé existant et le deuxième est à créer en y copiant
le contenu du premier tout en remplaçant les espaces par le caractère "*".

105
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 105 / 111
Les fichiers
Exercices

Exercice 2 :
Écrire une version modifiée copier_2 de la fonction copier de l’exercice
précèdent permettant de copier le contenu du premier dans le deuxième, en
omettant, toutes les lignes qui commencent par le caractère " # " .

106
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 106 / 111
Les fichiers
Exercices

Exercice 3 :
Écrire la fonction permettant de compter le nombre de caractères d’un fichier
tout en omettant les espaces et les retours à la ligne (\n).

107
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 107 / 111
Les fichiers
Exercices

Exercice 4 :
Sans utiliser la méthode upper (n’utiliser que les codes ASCII), écrire la
fonction toMaj qui reçoit en paramètres les noms de deux fichiers, dont
le premier est supposé existant et le deuxième est à créer en y copiant le
contenu du premier tout en le convertissant en majuscule.

108
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 108 / 111
POO
Exercices

Exercice : Soit la classes suivante :


1 c l a s s Complexe: #Définition de l a classe Complexe
2 """Classe définissant un nombre complexe par sa partie r é e l l e et
sa partie imaginaire"""
3 #Constructeur
4 def init (self,x,y):
5 ...
6 #Afficheur
7 def repr (self):

8
...
# Conversion en chaine de caractères
9
def str (self):
10
...
11
109
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 109 / 111
POO
Exercices

1 Implémenter les méthodes de la classes ci-dessus.


2 Écrire les méthodes suivantes pour la classe Complexe
1 addition permettant de calculer et de retourner la somme du complexe
lui-même et d’un autre complexe.
2 oppose qui renvoie le complexe opposé du complexe lui-même ;
3 conjugue qui renvoie le complexe conjugué du complexe lui-même ;
4 inverse qui renvoie le complexe inverse du complexe lui-même ;
5 produit qui renvoie le complexe produit du complexe lui-même et d’un
autre complexe.
6 difference qui renvoie le complexe différence du complexe lui-même et
d’un autre complexe
7 distance qui renvoie la distance entre deux complexe

(x1 − x2)2 + (y1 − y2)2 110
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 110 / 111
Connexion aux bases de données
(Mysql)

Aperçu des fonctions clés du connecteur MySQL pour Python :


[Link]() : Cette fonction permet d'établir une
connexion à une base de données MySQL. Elle prend en charge plusieurs
paramètres tels que l'hôte, le nom d'utilisateur, le mot de passe et le nom
de la base de données.

111
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 111 / 111
Connexion aux bases de données
(Mysql)

[Link]() : Cette fonction est utilisée pour exécuter une requête


SQL sur la base de données via un curseur. Elle prend en charge
l'exécution de requêtes de lecture et de modification.

112
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 112 / 111
Connexion aux bases de données
(Mysql)

[Link]() : Cette fonction permet de récupérer tous les


enregistrements résultant d'une requête de sélection. Elle renvoie les
données sous forme de tuples.

113
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 113 / 111
Connexion aux bases de données
(Mysql)

[Link]() : Cette fonction est utilisée pour exécuter


plusieurs requêtes avec des données différentes de manière efficace.
Elle est utile lorsqu'il est nécessaire d'effectuer des opérations sur
plusieurs enregistrements en une seule opération.

114
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 114 / 111
Connexion aux bases de données:
Fonctions Clés

Fonctions clés du connecteur MySQL pour Python :

1. connect() : Établit une connexion à la base de données MySQL.

2. cursor() : Crée un curseur pour exécuter des requêtes avec la


base de données.

3. execute() : Exécute une requête SQL donnée.

4. fetchall() : Récupère toutes les lignes d'un résultat de requête.

5. fetchone() : Récupère la prochaine ligne du jeu de résultats.

115
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 115 / 111
Connexion aux bases de données:
Fonctions Clés

7. commit() : Valide les transactions en cours.

8. rollback() : Annule les transactions en cours depuis le dernier


commit.

9. close() : Ferme le curseur et la connexion à la base de données.

116
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 116 / 111
Connexion aux bases de données:
Exercice 1

Vous devez créer un script Python pour interagir avec une base de
données MySQL. Suivez les étapes ci-dessous :
1. Établissez une connexion à une base de données MySQL locale.
2. Créez une table appelée "clients" avec les colonnes suivantes :
- id (entier, clé primaire, auto-incrémenté)
- nom (chaîne de caractères, longueur maximale de 255)
- age (entier)
3. Insérez un enregistrement dans la table "clients" avec des données
de votre choix.
4. Affichez tous les enregistrements de la table "clients".
5. Supprimez l'enregistrement avec le nom « XXX" de la table "clients".
6. Assurez-vous de fermer la connexion à la base de données après
avoir terminé toutes les opérations.
117
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 117 / 111
Connexion aux bases de données:
Exercice 2

Vous devez écrire un script Python pour gérer une base de données de
stock pour un magasin. Voici les étapes :
1. Connectez-vous à une base de données MySQL locale.
2. Créez une table "stock" avec les colonnes suivantes :
- id (entier, clé primaire, auto-incrémenté)
- nom du produit (chaîne de caractères, longueur maximale de 255)
- prix unitaire (décimal, 10 chiffres au total, 2 chiffres après la virgule)
- quantité en stock (entier)
3. Insérez cinq enregistrements de produits avec des noms, des prix et
des quantités en stock variés.
4. Affichez tous les produits dont le prix est supérieur à 50.
5. Mettez à jour la quantité en stock pour un produit de votre choix.
6. Supprimez un produit de votre choix de la base de données.
7. Fermez la connexion à la base de données.
118
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 118 / 111
Connexion aux bases de données:
Exercice 3

1. Établissez une connexion à une base de données MySQL locale.


2. Créez deux tables : "clients" et "commandes" avec les schémas suivants :
- Table "clients" : id (entier, clé primaire, auto-incrémenté), nom (chaîne de
caractères, longueur maximale de 255), email (chaîne de caractères, longueur
maximale de 255).
- Table "commandes" : id (entier, clé primaire, auto-incrémenté), id_client
(entier, clé étrangère faisant référence à l'id du client), montant_total (décimal,
10 chiffres au total, 2 chiffres après la virgule), date_commande (date).
3. Insérez au moins cinq clients dans la table "clients" et au moins dix
commandes dans la table "commandes" en vous assurant que chaque
commande est associée à un client existant.
4. Pour chaque client, calculez et affichez le montant total des commandes
passées.
5. Supprimez tous les clients qui n'ont aucune commande associée.
6. Fermez la connexion à la base de données.

119
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 119 / 111
Connexion aux bases de données:
Exercice 4

1. Écrire une fonction pour établir une connexion à une base de données
MySQL en prenant en compte les informations d'authentification telles que
l'hôte, la base de données, le nom d'utilisateur et le mot de passe.
2. Écrire une fonction pour créer une table dans la base de données MySQL en
prenant en paramètre la connexion établie et le nom de la table. Les champs
sont : ID, Nom, prenom, Tel, DDN, Adresse.
3. Écrire une fonction pour insérer des données dans une table spécifique en
prenant la connexion à la base de données, le nom de la table, ainsi que les
données à insérer en tant que paramètres.
4. Écrire une fonction pour afficher les données d'une table spécifiée en
prenant la connexion à la base de données et le nom de la table en
paramètres.
5. Écrire une fonction pour supprimer des données d'une table spécifique en
utilisant une condition fournie en tant que paramètre.
6. Écrire une fonction pour mettre à jour des données dans une table spécifiée
en utilisant une condition fournie ainsi que les nouvelles valeurs à mettre à jour
en tant que paramètres.
120
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 120 / 111
Connexion aux bases de données:
Dictionnaire

un dictionnaire est une structure de données qui permet de


stocker des paires clé-valeur. Chaque élément dans un
dictionnaire est une paire composée d'une clé et de sa valeur
associée.
Connexion aux bases de données:
Dictionnaire
Connexion aux bases de données:
Exercice 4

1. Créez une base de données vide dans votre système de gestion de


base de données MySQL en utilisant le nom de base de données
fourni comme paramètre.
2. Créez une table spécifiée avec ses champs dans la base de
données créée précédemment. Les paramètres de cette question
doivent inclure le nom de la table ainsi que les champs avec leurs
types de données respectifs.
3. Insérez au moins cinq enregistrements dans la table précédemment
créée avec des données de votre choix.
4. Affichez tous les enregistrements de la table spécifiée sur la
console.
5. Mettez à jour un enregistrement spécifié dans la table en modifiant
des valeurs spécifiques.
6. Supprimez un enregistrement spécifié de la table.
123
Pr. K. Doumi ([Link]@[Link] ) Programmation en langage Python 18 octobre 2022 123 / 111

Vous aimerez peut-être aussi