Vous êtes sur la page 1sur 80

Module de formation

Le langage de programmation PYTHON

25/12/2018 Formation Python 1


Présentation et caractéristiques
• Python est un langage de
programmation inventé
par Guido van Rossum.
• La première version de
python est sortie en
1991. C’est un langage
qui continue à évoluer.

25/12/2018 Formation Python 3


Présentation et caractéristiques
• l'inventeur de Python a choisi ce nom parce qu’il aimait beaucoup le
groupe d'humoristes Monty Python.
 Python est gratuit
 La syntaxe de Python est très simple et, combinée à des types de
données évolués (listes, dictionnaires...), conduit à des programmes
(scripts) à la fois très compacts et très lisibles.
 Python est dynamiquement typé. Tout objet manipulable n’a pas
besoin d’être déclaré à l’avance.

25/12/2018 Formation Python 4


Présentation et caractéristiques
 Python est orienté-objet.
 Python est un langage de programmation interprété, c'est à dire
qu'il n'est pas nécessaire de le compiler avant de l'exécuter.
• Python intègre, un système d’exceptions, qui permettent de
simplifier considérablement la gestion des erreurs.
…

25/12/2018 Formation Python 5


Installer python
 Il existe 2 versions de Python : 2.X et 3.X.
 Python 3 n’est pas rétro compatible, c'est à dire que ne vous
pouvez pas travailler sur des fichiers utilisant la version 2 de
Python si vous avez installé la version 3.
 Exemple de différence entre la version 2 et 3:
 print ‘bonjour ’  print (‘bonjour’)
 Long()  int()
 Basestring()  str()
 ...

25/12/2018 Formation Python 6


Téléchargement
Activité1
 Télécharger la dernière version
(Python 3.7) à partir du lien
suivant:
https://www.python.org/downl
oads/
 Ouvrir le fichier téléchargé
« Python-3.7.1 »
 Suivre l’assistant d’installation
 Lancer Python en mode console

25/12/2018 Formation Python 7


Activité2
• Afficher le message « Premier programme python » avec IDLE python
• Ecrire le script suivant :
Premier programme python
Hello World
1>2
14+16

Remarque:
Une console interactive Python ne sert pas à écrire des programmes
entiers !
Pour rédiger un script Python, il faut créer un nouveau fichier

25/12/2018 Formation Python 8


Constatation
• La fenêtre s’ouvre et se referme rapidement. Pour éviter cela, vous
avez trois possibilités:
1) mettre le programme en pause

2) lancer le programme depuis la console Windows (invite de commandes)


3) exécuter le programme avec IDLE
-Faites un clic droit sur le fichier .py
-Choisir edit with IDLE.
-La fenêtre d'IDLE devrait alors s'afficher.
-Cliquez sur run puis sur run module(ou appuyez sur F5 directement).

25/12/2018 Formation Python 9


Editeur python
Pour pouvoir coder en python vous aurez besoin :
• 1ère solution:
• un éditeur de texte : bloc notes, Notepad++, sublime texte....
• Et une console pour l’exécution
• 2ème solution:
• Installer un IDE avec un interpréteur python intégré Exemple:
Pycharm Wing IDE VIM

Pyzo jupyter, Mu,...

25/12/2018 Formation Python 10


Pourquoi Mu?
• Mu est un éditeur Python très simple
pour les enfants, les enseignants et les
programmeurs débutants.
• Mu a été créé à l'origine comme une
contribution de la Python Software
Fondation pour le projet micro: bit
de la BBC .

25/12/2018 Formation Python 11


les structures de données :

Activité3

25/12/2018 Formation Python 12


Les constantes
• les constantes n’existent pas en python.
• On peut définir une classe qui permet de simuler de
constantes et interdit toute modification de leur valeur.

25/12/2018 Formation Python 13


Les variables
Il faut dire qu’une variable est un objet
 La déclaration d’une variable et son initialisation se font en
même temps.
 Python défini automatiquement le type qui correspond à
la valeur fournie.
 Le nom d’une variable en python peut être constitué de
lettres, de chiffres et le caractère "_" et doit commencer
par une lettre.

25/12/2018 Formation Python 14


Les variables
 Python est un langage sensible à la casse, c’est-à-dire qu’ils
différencient minuscules et majuscules : var, VAR et Var pourraient
être les noms de trois variables différentes.
Exemple : A, a = 5, "Python"
X=y=7

25/12/2018 Formation Python 15


Les mots réservés
• Le nom d’une variable ne doit pas être un élément de
la liste des mots réservés.
 Voici la liste des mots réservé par python:
{ print in and or if del for is raise assert elif from
lambda return break else global not try class except
while continue exec import pass yield def finally }

25/12/2018 Formation Python 16


La structure d’affectation
En Python l’opération d’affectation est représentée par le signe égale(=) :
Exemples :
n=7 # définir n et lui affecte la valeur 7
msg = "Python 3.7" # affecte la valeur "Python 3.7" à msg
pi = 3.14159 # assigner la valeur 3.14159 à la variable pi

25/12/2018 Formation Python 17


Affectations multiples
 Sous Python, on peut assigner  On peut aussi effectuer des
une valeur à plusieurs affectations parallèles à l’aide
variables simultanément. d’un seul opérateur :
Exemple : Exemple :
x=y=7 a, b, c = 4, 8.33, "Python"
print(x) #7 print(a) #4
print(y) #7 print(b) #8.33
print(c) #‘Python’

25/12/2018 Formation Python 18


L’affectation large
Affectation Equivalent
A += b A=A+b
A -= b A=A–b
A*= b A=A*b
A /= b A=A/b
A // = b A = A // b
A%=b A=A%b
A ** = b A = A ** b

25/12/2018 Formation Python 19


Les entrées/sorties python:

Activité4

25/12/2018 Formation Python 20


La structure d’entrée
 L’opération d’entrée consiste à introduire une b=int(input("b = "))
donnée à partir d'une source d'entrée b=15
Syntaxe : type(b) #<class ‘int’>
 Nomobjet = input("Message")
 L’opération input() renvoie toujours une Exemple3:
chaîne de caractères. Si on souhaite saisir une
c=float(input("c = "))
donnée numérique, on devra faire recours soit c=15
à la fonction int() ou à la fonction float() ou type(c) #<class ‘float’>
autres

Exemple1:

a=input("a = ")
a =15
type(a) #<class ‘str’>
Exemple2:

25/12/2018 Formation Python 21


La structure de sortie
La structure de données consiste à écrire une donnée sur un périphérique de sortie tel
que l'écran, l'imprimante, etc.
Syntaxe : print("Message ",Nomobjet)
 print("message"+Nomobjet) # concaténe le message et Nomobjet lors de l’affichage.
 print se termine toujours par un retour a la ligne

Remarque:
• Lors de l’affichage de plusieurs objets, Python ajoute un séparateur par défaut « un
espace » après chaque objet, vous pouvez remplacer ce séparateur par un autre
grâce à l’argumentsep=‘-’
• Pour remplacer le saut à la ligne utilisé l’argument end=‘’

25/12/2018 Formation Python 22


L’affichage formaté(f-strings)
Pour utiliser f-strings il suffit de mettre un f devant la chaine de
caractères et pour insérer la valeur d’une variable dans la chaine il
suffit de mettre la variable entre accolade
Exemple:
Afficher pi à trois décimales après la virgule :
pi=3.141592653589793
print(f ’la valeur de pi est {pi:.3f}.’)

25/12/2018 Formation Python 23


L’affichage formaté (format() )
La méthode format() permet une meilleure organisation de l’affichage des variables
Exemples :
x = 32
nom = ‘Ali'
print('{} a {} ans'.format(nom, x)) # Ali a 32 ans
print('{0} a {1} ans'.format(nom, x)) # Ali a 32 ans
print('{1} a {0} ans'.format(nom, x)) # 32 a Ali ans

pi =3.1416
r =4.7
ch ="L’aire d’un disque de rayon {} est égale à {:.2f}."
print(ch.format(r, pi * r**2))
# L’aire d’un disque de rayon 4.7 est égale à 69.39

25/12/2018 Formation Python 24


Les types de données:
Pour connaitre le type d’une variable on utilise la fonction type(nom_variable)
 les types numériques:
o Le type entier (int): comme son nom l'indique un entier est un nombre sans
décimales, dont la taille n’est limitée que par la mémoire allouée à l’interpréteur
python.
o Le type réel (float): tout nombre comportant des décimales ou un exposant de
10, appelé nombre à virgule flottante
Par exemple, les données : 3.14 10. .001 1e100 3.14e-10
sont automatiquement interprétées par Python comme étant du type float.

Remarque: Les fonctions int et float permettent de convertir un nombre


quelconque ou une chaîne de caractères respectivement en un entier (arrondi) et
en un nombre réel.

25/12/2018 Formation Python 25


Les types de données :
 le type rien ou None :
python propose un type None pour signifier qu’une variable ne contient rien. La
variable est de type None est égale à None.
Exemple :
s = None
print(type(s))
 le type Boolean (bool) :
Ce type comporte les deux valeurs logiques True et False
 le type chaîne de caractère (str) :
Pour définir une chaine de caractères, trois syntaxes de chaîne sont disponibles
via les guillemets ", les apostrophes ‘ et le triple guillemets """ pour les chaines
préformatées.

25/12/2018 Formation Python 26


Les opérateurs arithmétiques
Opérateur Description Exemples
+ Addition
- Soustraction
* Multiplication
/ Division réelle 15/4 #3.75
// Division entière 15//4 #3 quotient
% Reste de la division entière 15%4 #3
** Exposant (a**b  ab) 5**3 #125

25/12/2018 Formation Python 27


Opérateurs des bits des nombres entiers
Opérateur Rôle Exemples

X |Y Ou (or) binaire de X et Y 5|8 # 13

X^Y Ou exclusive binaire de x et y 6^8 # 14

X&Y Et binaire de X et Y 6&8 #0

X<<n Décalage vers la gauche de X par n bits 15 <<2 #60


(x*2n)

X>>n Décalage vers la droite de X par n bits (x/2n) 15>>2 #3

25/12/2018 Formation Python 28


Les opérateurs relationnels
Opérateu Description
r
== Égal
!= Différent
< Inférieur
> Supérieur
>= Supérieur ou égal
<= Inférieur ou égal
is (is not) Identité d’objet (vérifie si deux objets ont le même identifiant)
in (not in) Opérateur d’appartenance

25/12/2018 Formation Python 29


Les opérateurs logiques
Opérateur Description

and (&) La conjonction logique

not La négation logique

is not La négation logique

or (|) La disjonction logique

25/12/2018 Formation Python 30


Activité5

25/12/2018 Formation Python 31


Les modules
Activité6

25/12/2018 Formation Python 32


Les modules
• Un module est un fichier.py contenant des fonctions et des constantes.
• Exemple : Le module math et le module random
• Comment utiliser un module?
 Importer le module: import math
• Utiliser une fonction du module importé
X=math.pi
Y=math.sqrt(x)
• Ou importer toutes les fonctions du module pour les utiliser dans le code:
from math import *
X=pi
Y=sqrt(x)
• Ou seulement certaines fonction exemple
from math import sqrt, round

25/12/2018 Formation Python 33


Les fonctions du module math
Fonction/méthode Rôle Exemples

fabs(x) Retourne la valeur absolue d’un nombre


pow(x,y) Retourne xy
trunc(x) Retourne la partie entière de x trunc(3.14) #3
trunc(-3.14) #-3
round(x,n) Retourne le réel qui représente from math import *
l’arrondissement de x sur n chiffres. round(pi,2) #3.14
round(pi,4)#3.1416
floor(x) Retourne le plus grand entier <=x floor(pi)#3
floor(e)#2
ceil(x) Retourne le plus petit entier >=x ceil(pi)#4
ceil(e)#3
fmod(x,y) Retourne le reste de la division réelle de x Fmod(11.25,2.4) #1.65
par y
gcd(a,b) Retourne le PGCD de deux entiers a et b gcd(135,25) #5

25/12/2018 Formation Python 34


Les fonctions du module math
Fonction/métho Rôle Exemples
de
Isnan(x) Retourne Vrai si x n’est pas un nombre ou Faux
sinon
modf(x) Retourne les parties fractionnelle et entières modf(11.75) # (0.75,
de x. Les deux résultats ont le signe de x et 11.0)
sont flottants.
exp(x) Retourne la constante e élevé à la puissance x
log(x[,base]) Avec un argument, renvoie le logarithme
naturel de x (en base e).
Avec deux arguments, renvoie le logarithme
de x en la base donnée, calculé
par log(x)/log(base).
sqrt(x) Retourne la racine carré d’un réel X

25/12/2018 Formation Python 35


Les fonctions du module math
Fonction Rôle
acos(x) retourne l’arc cosinus de X
asin(x) : retourne l’arc sinus de X
atan(x) retourne l’arc tangente de X
cos(x) retourne le cosinus de X
sin(x) retourne le sinus de X
tan(x) retourne la tangente de X
hypot(x,y) Sqrt(x*x+y*y) retourne la norme du vecteur de
coordonnées (x,y)

25/12/2018 Formation Python 36


Les constantes du module math
• Pi:
La constante mathématique π = 3.141592…, à la précision disponible.
• e:
La constante mathématique e = 2.718281…, à la précision disponible.

25/12/2018 Formation Python 37


Les fonctions du module random
• random() Elle génère un nombre réel aléatoire compris entre 0 et 1
• La fonction randint(x,y) prend deux paramètres :
• la marge inférieure de l'intervalle ;
• la marge supérieure de l'intervalle incluse.
• La fonction randrange(x,y,[ecart]) prend trois paramètres :
• la marge inférieure de l'intervalle ;
• la marge supérieure de l'intervalle (y-1) ;
• l'écart entre chaque valeur de l'intervalle (1 par défaut).
• Choice() : renvoie au hasard un élément d'une séquence passée en
paramètre :
random.choice(['a', 'b', 'k', 'p', 'i', 'w', 'z'])

25/12/2018 Formation Python 38


Les chaînes de caractères

Activité7

25/12/2018 Formation Python 39


Les chaines de caractères
Pour accéder à un caractère d’une On peut utiliser des indices négatifs :
chaîne en respecte la syntaxe • -1 désignera le dernier caractère,
suivante:
• -2 l’avant-dernier, etc. :
Ch = "Python"
print(Ch[1], Ch[4], Ch[2]) Ch = "Python"
print(Ch[-1], Ch[-2], Ch[-4], Ch[-6])
#yot
#n o t P

25/12/2018 Formation Python 40


Operations sur les chaines
Pour extraire une sous chaîne d’une chaîne Les indices de découpage ont des
valeurs par défaut : si le premier indice
plus longue. Python propose la technique est non défini il sera considéré comme
de slicing (découpage en tranches). Elle zéro, tandis que lorsque le second indice
consiste à indiquer entre crochets les est omis il aura comme valeur la taille de
la chaîne:
indices correspondant au début et à la fin ch="Langages"
de la « tranche » que l’on souhaite extraire. print(ch[:3])
Dans la tranche [n,m], le nième caractère est # les 3 premiers caractères ‘Lan’
inclus, mais pas le mième. print(ch[3:])
ch = "Langage" # tout ce qui suit les 3 premiers
x=ch[0:3] caractères ‘gages’
y=ch[3:]
print(x,y) #Lan gage
25/12/2018 Formation Python 41
Extraction d’une sous-chaîne
Pour assimiler aisément ce mécanisme, il faut vous représenter que les indices
pointent des emplacements situés entre les caractères, comme dans le schéma
ci-contre :
Exemples:
S[1:4] # ‘ayo’
S[-3:] # ‘s X’
S[:3] # ‘Ray’
S[3:] # ‘ons X’
S[::2] #‘Ryn ‘
S[::-2] # ‘Xsoa’
S[::-1] #‘X snoyaR’

25/12/2018 Formation Python 42


La concaténation et la multiplication
Les chaînes peuvent être concaténées avec l’opérateur +
et répétées avec l’opérateur * :
n = 'abc' + 'def' # concaténation
m = ‘xyz!' * 4 # multiplication
print(n, m) #abcdef xyz!xyz!xyz!xyz!

25/12/2018 Formation Python 43


la modification d’une chaine de caractères
Il est impossible de modifier le contenu d’une chaîne.
Exemple:
salut = "bonjour à tous "
salut[0] = 'B‘
#TypeError: 'str' object does not support item assignment
ce script lève une erreur car on a essayé de remplacer une lettre par une autre dans la chaîne,
mais cela n’est pas permis.
Par contre, le script ci-dessous fonctionne parfaitement :
salut = 'bonjour à tous'
salut = 'B' + salut[1:]
print (salut)

25/12/2018 Formation Python 44


Les caractères
Le type caractère n’existe pas en tant que tel en Python. Ce n’est qu’un cas
particulier d’une chaîne de caractères. Les deux fonctions Chr et Ord
permettent respectivement de retourner le caractère dont le code ASCII est
donné et le code ASCCII d’un caractère donné.
Exemples:
N= ord("A")
print(N) #65
"0" "A" "a"
X= chr(100)
print(X) #d 48 65 97

25/12/2018 Formation Python 45


La comparaison des chaines
La comparaison entre deux chaines de caractères se fait
caractère par caractère selon leur code ASCII.
Dans le système de codage ASCII, par exemple, A=65,
B=66, C=67, etc

25/12/2018 Formation Python 46


Les séquences d’échappement
Séquence Signification
"\n" Saut de ligne

"\\" Antislash

"\’" apostrophe

"\"" Guillemet

"\a" Bip sonore

"\b" Retour arrière

"\r" Retour début de ligne

"\t" Tabulation horizontale

25/12/2018 Formation Python 47


Les fonctions standards
Fonction Rôle Exemples
chr(n) Retourne le caractère dont le code ASCII est n
ord(c) Retourne le code ASCII du caractère c
max(ch) Retourne le caractère ayant le code ASCII le plus élevé
min(ch) Retourne le caractère ayant le code ASCII le plus faible
len(ch) Retourne le nombre de caractères d’une chaine
float(ch) convertit la chaîne ch en un nombre réel (float) (bien a = float("12.36") # 12.36
entendu, cela ne pourra fonctionner que si la chaîne print(a + 5) #17.36
représente bien un nombre, réel ou entier.
int(ch) convertit la chaîne ch en un nombre entier a = int("184")
print(a + 20) #204
str(obj) convertit l’objet obj en une chaîne de caractères. obj peut a, b = 17, 12.52
être une donnée d’à peu près n'importe quel type ch =str(a) +str(b)
print(ch) #1712.52

25/12/2018 Formation Python 48


Les méthodes de conversion
méthode Rôle Exemples
upper() convertit une chaîne en "Maître Jean-Noël Hébèrt".upper()
majuscules. #MAÎTRE JEAN-NOËL HÉBÈRT
lower() convertit une chaîne en "CÉLIMÈNE est un prénom".ch.lower()
minuscules. #célimène est un prénom
title() convertit en majuscule l’initiale "albert rené élise véronique".title()
de chaque mot (suivant l’usage #Albert René Élise Véronique
des titres anglais).
capitalize() Convertit en majuscule "quel beau Temps !".capitalize()
seulement la première lettre de #"Quel beau temps !"
la chaîne, alors que le reste sera
converti en minuscule.
swapcase() convertit toutes les majuscules "Le Lièvre Et La Tortue".swapcase()
en minuscules, et vice-versa. #lE lIÈVRE eT lA tORTUE
replace(ch remplace tous les nb "Si ce n'est toi c'est donc ton frère".replace(" ","*")
1, occurrences de ch1 par ch2 dans #Si*ce*n'est*toi*c'est*donc*ton*frère
ch2[,nb]) la chaîne

25/12/2018 Formation Python 49


Les méthodes de recherche
méthode Rôle Exemples
endswidh(suffixe[,deb[,fin]] Vérifie si la souschaine "Bonjour".endswith(‘our’) #True
comprise dans l’intervalle deb "Bonjour".endswith(‘R’) #False
et fin se termine par le suffixe "Bonjour".endswith(‘o’,1,5) #True
donné
startswith(prefixe[,deb[,fin]] Retourne True si la sous "Bonjour".startswith(‘Bon’) #True
chainer comprise par deb et fin ’Sept 2018’.startswith(‘pt’,2,5) #True
chaîne commence par prefixe, ’Sept 2018’.startswith(‘pt’,3,8) #False
sinon False.
count(sch[,deb,[fin]]) compte le nombre de sous- ch1 = "Le héron au long bec emmanché
chaînes sch dans l’intervalle de d'un long cou"
caractères deb et fin dans une ch2 = 'long'
chaîne. print(ch1.count(ch2)) #2
"Bonjour mon ami".count(‘o’,3,13) #2

25/12/2018 Formation Python 50


Les méthodes de recherche
méthode Rôle Exemples
find(sch[,deb,[fin]]) cherche la première position ’Bonjour’.find(‘jour’) #3
* Voir aussi rfind d’une sous-chaîne sch dans une ’Bonjour’.find(‘o’,1,4)#1
portion de la chaîne. ’Bonjour’.find(‘O’) #-1
’jour’ in ’Bonjour’ #True
index(sch[,deb,[fin]]) cherche la première position ’Bonjour’.index(‘jour’) #3
* Voir aussi rindex d’une sous-chaîne sch dans une ’Bonjour’.index(‘o’,1,4) #1
portion de la chaîne. ’Bonjour’.index(‘O’) #ValueError

25/12/2018 Formation Python 51


Les méthodes de vérification de la
catégorie
méthode Role Exemples
isdigit() Retourne True si tous les caractères de la ‘2018’.isalnum() #True
chaîne sont alphanumériques et qu’il y a au ‘Le 06-10-2018’.isalnum()
moins un caractère, sinon False. #False
isalpha() Retourne True si tous les caractères de la 'Python'.isalpha() #True
chaîne sont alphabétiques et qu’elle contient 'bac2019'.isalpha() #False
au moins un caractère, sinon False.
isdecimal() Retourne vrai si tous les caractères de la '20.18'.isdecimal() #False
chaîne sont des caractères décimaux et qu’elle '2018'.isdecimal() #True
contient au moins un caractère, sinon faux.

25/12/2018 Formation Python 52


Les méthodes de vérification de la
catégorie
méthode Rôle Exemples
islower() Retourne True si tous les caractères 'Python'.islower() #False
capitalisables de la chaîne sont en minuscules 'bac2019'.islower() #True
et qu’elle contient au moins un caractère
capitalisable, sinon False
isupper() Retourne True si tous les caractères 'Python'.islower() #False
différentiables sur la casse de la chaîne sont en 'bac2019'.islower() #True
majuscules et il y a au moins un caractère
différentiable sur la casse, sinon False.
isspace() Retourne True s’il n’y a que des caractères 'bac 2019'.isspace() #False
blancs dans la chaîne et il y a au moins un ‘ ‘.isspace() #True
caractère, sinon False.

25/12/2018 Formation Python 53


Les listes

Activité9

25/12/2018 Formation Python 54


Les listes
Définition
 Une liste est une collection ordonnée et modifiable d’éléments
hétérogènes.
 Exemple:
L = [‘Ali’, 62, 2, True, 2018]

 Comme les caractères dans une chaîne, les objets placés dans une liste
sont rendus accessibles par l'intermédiaire de son index
print(L[3]) #true

25/12/2018 Formation Python 55


Les tableaux vs les listes
 Lorsqu’on dit tableau Python le plus souvent on dit liste Python.

 Les listes sont beaucoup plus flexibles que les tableaux. Ils peuvent
stocker des éléments de différents types de données.

 Les listes sont plus rapides que les tableaux.

25/12/2018 Formation Python 56


Déclaration
Pour déclarer une liste, il suffit de lui Exemple 1:
attribuer un nom suivi par la touche = MaListe = [ ]
suivi par les deux crochets Exemple 2:
ou la fonction range(): print(list(range(10)))
• La fonction range() génère une liste De même il est possible de déclarer une liste en
de nombres entiers de valeurs indiquant ces éléments des le départ.
croissantes. Exemple 3:
Exemple 4:
• Si vous appelez range() avec un seul
argument: L = [‘Ali’, 62, 2.5, True, 2018]

range(n) génère n nombres de 0 à n-1).


list1 = [’a’, ’b’]
list2 = [4, 2.718]
list3 = [50,list1,False, list2] #liste de listes
print(list3) #[50,[’a’, ’b’],False, [4, 2.718]]

25/12/2018 Formation Python 57


Accès à un élément
Comme les chaines, pour accéder aux éléments d’une liste, on utilise les
mêmes méthodes (index ou découpage en tranches).
Exemple 2:
L = [‘Ali’, 45, 2, True, 2018, [‘Sana’, ‘Abir’]]
print(L[2]) #2
print(L[1:3]) #[45, 2]
print(L[2:3]) #[2]
print(L[2:]) #[2,True,2018,[‘Sana’,’Abir’]]
print(L[:2]) #[‘Ali’, 45]
print(L[-1]) #[‘Sana’,’Abir’]
print(L[-3]) #True

25/12/2018 Formation Python 58


Affichage et changement
des éléments d’une liste
Exemples
print(MaListe) #[ ]
print(L) # L = [‘Ali’, 45, 2, True, 2018, [‘Sana’, ‘Abir’]]
type(L) #<class ‘list’>

Contrairement aux chaines les listes sont modifiables. Pour modifier un élément dans une liste,
il suffit d’indiquer l’indice a modifier et sa nouvelle valeur.
L[1]=‘Bb’
L[2]=[True,False]
L[4]=3.14
L[6]=106 #index out of range
print(L)# [‘Ali’, Bb, 2, [True, False], 3.14, [‘Sana’, ‘Abir’]]

25/12/2018 Formation Python 59


Le copiage de listes
x = [1,2,3] Il est très important de savoir que l’affectation
y=x d’une liste (à partir d’une liste préexistante) crée
en réalité une référence et non une copie.
print(y) #[1, 2, 3]
Donc si on modifie x, y est modifiée.
x[1] = -15 Pour éviter ce problème on pourra utiliser l’une
print(x) #[1, -15, 3] des 3 solutions:
print(y) #[1, -15, 3] y=x[:]
y=list(x)
y=x.copy()

25/12/2018 Formation Python 60


Les listes et les chaines
Parfois il peut être utile de transformer une chaine de caractère en liste. Cela
est possible avec la méthode split.
ch = "Un deux trois quatre"
L=ch.split(" ") #[‘Un', ‘deux', ‘trois’, ’quatre']
De même il est possible de transformer une liste en string avec la méthode
"join".
liste = ["Olivier","ENGEL","Strasbourg"]
X= " ".join(liste) #Olivier ENGEL Strasbourg'

25/12/2018 Formation Python 61


Les opérateurs
Soient les deux listes suivantes
L1=[10, 45.5, True, False] et L2=[20,30]
Avec les listes on peut utiliser les opérateurs suivants :

Opérateur Role Exemple


+ Concatène deux listes L=L1+L2
#[10, 45.5, True, False,20,30]
* Répète une liste (Multiplication) K=3*L2 #[20,30,20,30,20,30]
in Vérifie l’existence d’un élément dans une 20 in L2 # True
liste
not in Vérifie l’inexistence d’un élément dans une 20 not in L1 #True
liste

25/12/2018 Formation Python 62


Les fonctions associées aux listes
Soient les deux listes suivantes:
L=[15, 20, 9, 8, 7, 14] et K=[‘Un’, True, 4, 10.25]
Fonction Role Exemples
len() Retourne la taille d’une liste len(K) #4
min Retourne le minimum d’une liste comportant que min(L) #7
des valeurs numérique
max Retourne le maximum d’une liste comportant que max(L) #20
des valeurs numérique
sum Retourne le total des éléments d’une liste sum(L) #73
comportant que des valeurs numérique
list Convertit une chaine en une liste ou utilisée avec X=list(‘UNE’) #[‘U’,’N’,’E’]
range pour créer une liste
del Efface un élément d’une liste del(X[1]) #[‘U’,’E’]

25/12/2018 Formation Python 63


Les méthodes associées aux listes
Soient les deux listes suivantes:
L=[15, 20, 14, 9, 8, 7, 14] et K=[‘Un’, True, 4, 10.25]
Fonction Rôle Exemples
append(x) Ajoute l’élément x à la fin de la liste
count(x) Retourne le nombre d’occurrence de L.count(14) #2
l’élément x dans la liste
index(x) Retourne l’indice de la première occurrence L.index(14) #2
de l’élément x dans la liste
insert(i,x) Insère l’élément x à la position i dans la liste, K.insert(1,14)
lorsque i>=len(), l’insertion sera un ajout #[‘Un’,14,True,4,10.25]
(append)
remove(x) Efface la première occurrence de l’élément x L.remove(14)
* Voir aussi pop(i) dans la liste #[15, 20, 9,8,7,14]

25/12/2018 Formation Python 64


Les méthodes associées aux listes
Soient les deux listes suivantes:
L=[15, 20, 14, 9, 8, 7, 14] et K=[‘Un’, True, 4, 10.25]
Fonction Role Exemples
reverse() Inverse les éléments de la liste K.reverse()
#[10.25, 4, True, ‘Un’]
sort() Ordonne, en sens croissant, les éléments de la L.sort()
liste #[7,8,9,14,14,15,20]
extend(l) Ajoute tous les éléments d’une liste l à une liste L.extend(K)
(équivalent à Liste=Liste+l ou Liste+=l #[15, 20, 14, 9, 8, 7, 14,‘Un’,
True, 4, 10.25]
clear() Supprime tous les éléments d’une liste L.clear() # [ ]
copy() Crée une copie indépendante d’une liste A=L.copy() # [ ]

25/12/2018 Formation Python 65


Les Structures conditionnelles

Activité 10

25/12/2018 Formation Python 66


La structure conditionnelle simple réduite

Syntaxe : Exemple:

if condition(s) : from math import *


Traitement if x>=0 :
y=sqrt(x)
print(y)

25/12/2018 Formation Python 67


La structure conditionnelle simple complète
Syntaxe classique

if condition(s) :
Traitement1
else:
Traitement2
Exemple:

c=input("Saisir un caractère")
if (c>=‘0’)and(c<=‘9’):
R="Chiffre"
else:
R="Autre Caractère"
print(R)

25/12/2018 Formation Python 68


La structure conditionnelle généralisée
Syntaxe :
if condition1:
Traitement1
elif condition2 :
Traitement2


elif condition n-1 :
Traitement n-1
else :
Traitement n
25/12/2018 Formation Python 69
EXEMPLES
voy="aeiouy"
a=float(input("a ="))
b=float(input("b =")) voy+=voy.upper()
if a==0 : c=input("Saisir un caractére :")
if b==0: if c in voy :
S="Tout IR"
else: nat="une voyelle"
S="Pas de solution " elif (c.upper()>="A")and(c.upper()<="Z") :
else: nat="une consonne"
S=-b/a
print(a,b,S) elif (c>="0")and(c<="9") :
nat="un chiffre"
else:
nat="autre symbole"
print(c,"est",nat)

25/12/2018 Formation Python 70


25/12/2018 Formation Python 71
La structure itérative complète
Syntaxe: Exemple 1:
for element in sequence : from math import *
Traitement for i in range(10):
 La variable element est dite variable print(i,factorial(i),pow(i,2))
d’itération, elle prend successivement
les différentes valeurs de la sequence Exemple 2:
Ch="Python 3.7"
 La boucle for itère toujours sur un objet
séquentiel for c in Ch:
print(c)
Exemple 3:
for n in range(10,22,3):
print(n,n**2)

25/12/2018 Formation Python 72


La structure itérative a condition de continuité
Syntaxe:
while condition :
Traitement

25/12/2018 Formation Python 73


Les clauses break et continue
Le mot-clé break permet tout simplement Exemple1 :
d‘arrêter une boucle. for x in range(1, 11):
if x == 5:
break
print(x, end=” ”)
Le mot-clé continue permet de continuer
1234
une boucle, en repartant directement à la
ligne du while ou for, tout en sautant à #la boucle est arrêtée a la valeur 5
l’itération suivante
Exemple2 :
for x in range(1, 11):
if x == 5:
continue
print(x, end=” ”)
1 2 3 4 6 7 8 9 10
# la boucle a sauté la valeur 5

25/12/2018 Formation Python 74


25/12/2018 Formation Python 75
Dessin 2d
Parmi les bibliothèques standard de Python on trouve la bibliothèque
turtle (tortue)
Une tortue est disponible en standard sous Python. Elle n'est pas très
rapide, mais permet de réaliser des figures 2D intéressantes.

25/12/2018 Formation Python 76


Liste des fonctions du module turtle
Fonction Rôle
fd(n), forward(n) Avance de n pixels
bk(n), backword(n) Recule de n pixels

rt(n), right(n) Retourne a droite de n degrés


lt(n), left(n) Retourne a gauche de n degrés
clear() Efface l’écran
reset() Efface l’écran et met la tortue au centre et initialise les paramètres
penup(), up Lève le stylo
pendown(), down le stylo en position d’écriture
showturtle() Montre la tortue
hideturtle() Cache la tortue

25/12/2018 Formation Python 77


Liste des fonctions du module turtle
Fonction Rôle
width(n) Epaisseur de trait
color(‘argument’) Définit la couleur de stylo
begin_fill() Couleur de remplissage
...
end_fill
setx(n) Définit l’abscisse du pointeur
sety(n) Définit l’ordonner du pointeur
speed(n) Définit la vitesse
update() Force l'affichage des graphismes en attente
bye() Referme la fenêtre
setup(L,H) Ouvre une fenêtre de largeur L et de hauteur H

25/12/2018 Formation Python 78


Exemples
Exemple 1:
from turtle import *
color(‘blue')
forward(120)
left(90)
forward(80)
left(90)
forward(120)
left(90)
forward(80)

25/12/2018 Formation Python 79


Exemples
Exemple 3:
Exemple2: from turtle import *
penup() width(2)
pendown() color(‘blue’)
for i in range(6) : for i in range(25):
forward(100) forward(150)
right(60) left(75)

25/12/2018 Formation Python 80


• from turtle import *
• color("red")
• begin_fill()
• for i in range(5):
• forward(200)
• left(144)
• end_fill()

25/12/2018 Formation Python 81

Vous aimerez peut-être aussi