0% ont trouvé ce document utile (0 vote)
3 vues56 pages

Introduction au langage Python

Transféré par

abirkhmir
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues56 pages

Introduction au langage Python

Transféré par

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

Le langage de

programmation Python
 Présenté par : Nizar GANNOUNI

Manouba &
Zaghouan
Septembre
1 2019
Plan
Introduction
Editeurs et configuration
Les structures de données
Les structures simples
Les structures conditionnelles
Les structures répétitives
2
Introduction
Python :
• Développé par le néerlandais Guido van Rossum en 1989.
• Portable (Windows, Linux, Mac OS ...).
• Langage de programmation orientée objet.
• Doté d’un typage dynamique fort.
• Sensible à la casse.
• Open source en évolution et soutenu par une communauté
d’utilisateurs.
3

• Doté d’une bibliothèque très puissante.


Editeurs
1-Editeurs offline:

IDEL python : [Link]


Mu : [Link]
PyCharm : [Link]

2- Editeurs online:
[Link]
[Link]
[Link]

4
Configuration
Variable d’environnement Windows7:

Ajouter à la variable le chemin


d’installation du python précédé par
";"

5
Configuration
Variable d’environnement Windows 10:

6
Introduction
Les modes d’exécution d’un script Python avec IDEL :

1- en mode interpréteur interactif

2- en mode fichier

3- en ligne via :
[Link]
[Link] 7

[Link]
L’environnement en ligne : [Link]

Versioning

Ru Ouverture
n

8
L’environnement ‘[Link]’ permet de visualiser l’exécution pas à
pas (voir démo)

9
Découverte de l’IDLE Python

1) Afficher le jour, le mois et l’année de la date système

2) Afficher les bibliothèques et les packages installés help ("modules")

3) Afficher l’aide de la bibliothèque "sys" help (sys)  erreur

4) Importer la bibliothèque "sys" import sys ou from sys import *

5) Afficher l’aide de la bibliothèque "sys" help (sys)  dir (sys)

6) Afficher la version du langage python installée [Link]

1) Afficher le jour, le mois et l’année de la date système from datetime import * [Link]
xx=[Link]()10 [Link]
[Link]
Installation de nouvelles
bibliothèques
1) Installer la bibliothèque numpy (dans le cas où le compilateur python est
déclaré dans la variable d’environnement du pc )

1 - Accéder à l’invite de commandes du windows : cmd


2- accéder au dossier d’installation du python
3- pip install numpy
Installation de nouvelles
bibliothèques
2) Installer la bibliothèque numpy (dans le cas où le compilateur python n’est pas déclaré dans la
variable d’environnement du pc )

 Accéder à l’invite de commandes du windows : cmd


 accéder au dossier d’installation du python
 python –m pip install numpy
Les structures de
données

13
Les structures de
 Les constantes :

Exemples :
données
1- import sys

[Link]

[Link] = [Link] * 2

[Link]

2- import math

[Link]

[Link] = 21

[Link] 14

Python ne tient pas compte des constantes


Les structures de
 données
Les variables : (lettres, chiffres et underscore (_) (ne commence pas par un chiffre))

[Link] dynamique
[Link] dynamique fort

 Lorsqu’une valeur est affectée à une variable, le langage met à la disposition du développeur
l’ensemble des fonctions (méthodes) appropriées à ce type.
 type (nomVariable)
 dir (nomVariable)

On ne parle pas de type de données mais plutôt de classe 15


Les structures de

données
B- Les types de données standards (en Python)
 Les nombres (entiers, longs, réels, complexes, octal, hexadécimal)
1°) Exécutez le script suivant :
>>> a, b= 3, 2
>>> a,b
 2°) Exécutez le script suivant :
>>> a, b= 3, 2
>>> a,b=b,a
>>> a, b
3°) Exécutez le script suivant :
>>> type(a) et >>> dir(a)
4°) Exécutez les scripts suivant :
>>> 2 + 3 * 8 – 6 / 4 +3 16

>>> 0o10 (zéro ‘o’ puis 10) et 0xA


Les structures de

données
B- Les types de données standards (en Python)
Les chaînes de caractères : Suite de caractères indexée à partir de Zéro.
Exemples :
1) Exécuter les affectations suivantes et afficher le contenu de la
variable
 ch='abc'

 ch="abc"

 ch="l\’informatique "
 Ch="Formation\nPython "

 print….
17

 type(ch)  dir(ch)  help([Link])


Les structures de

données
B- Les types de données standards (en Python)
Remarque : Les chaînes de caractères sont indexées sous les deux formats suivants :

ch= P y t h o n
Index: 0 1 2 3 4 5
Index: -6 -5 -4 -3 -2 -1
 Exécuter les instructions suivantes et déduire le rôle de chacune :
 ch[0] ; ch[-6] ; 
 ch[1:4] ; ch[2:] ; ch[1:-2]
 ch[:2] 
 ch*2 
 ch[::2] ; ch[::-1]
18
 ch[2] = ‘T' 
 les chaînes sont immuables
Les structures de

données
B- Les types de données standards (en Python)
Les listes : Collection d’éléments séparés par des virgules, l’ensemble étant enfermé
dans des crochets.
Exemples :
1) Exécuter les affectations suivantes et afficher le contenu des variables
 jour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi',
'dimanche']
 liste1=['abc’ , 1 , 2.3 , 2>3 ]
2) Afficher le 2ème élément de la liste jour
3) Afficher le dernier élément de la liste jour
4) Extraire la partie de la liste jour allant du 2ème élément jusqu’au 4ème
élément
5) Afficher le dernier élément de la liste liste1
6) Remplacer le 3ème élément de liste1 par la valeur .001 19
Les structures de

données
B- Les types de données standards (en Python)
Les tuples: Collection d’éléments séparés par des virgules, l’ensemble étant enfermé
dans des parenthèses. Les tuples sont des listes en lecture seule.

Exemples :

 jour = ('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi',


'dimanche')

 Liste1=('abc’ , 1 , 2.3 , 2>3 )

 Les dictionnaires : Ce sont des objets pouvant contenir d'autres. C’est un genre de tableau
associatif.
20
Exemple : abc= {'nom': 'Ahmed','code':6734, 'Situation': 'Titulaire'}
Les structures de
données
1°) Les opérateurs arithmétiques sur les
nombres :
Symbole Description Exemple

+ addition 5+3  8

- soustraction 5-3 2

* multiplication 5*3  15

division (entière ou réelle en fonction du type de


/ 5/3  1 ou bien 5.1/3  1.7
donnée)

** élévation à la puissance 5**3  125

// division entière 5//3  1

% reste de la division entière 5%321  2

divmod divmod(14,3)
Les structures de
données
2°) Les opérateurs logiques sur les nombres :

Symbol
Description Exemple
e
> supérieur 5>3  True
supérieur ou
>= 5>=8 False
égal
< inférieur 5<3  False
<= Inférieur ou égal 4<=6  True
== égal 6==3  False
!= différent 5!=3  True
2 in [1,15,23,14]
‘a’ in [‘b’,’a’,’t’]
in inclusion
‘r’ in ‘Bonjour’
‘on’ in ‘Bonjour’ 22

a=5
<…<
Les structures de
données
2°) Les fonctions prédéfinies sur les nombres :
Les fonctions prédéfinies sont regroupées dans des bibliothèques qu’on doit les
importer avant leurs utilisations.
import nomBiblio
ou
from nomBiblio import *
Exemple : La bibliothèque math contient les fonctions mathématiques : sinus,
cosinus, racine carrée, etc.

Travail à faire :
1) Importer la bibliothèque math et afficher son contenu
2) Afficher l’aide de la fonction sin 23
Les structures de
données
3°) Les fonctions prédéfinies sur les chaînes :

Le langage Python dispose d’une classe str qui contient un ensemble de "fonctions"

manipulant les chaines de caractères qu’on pourra les découvrir à travers dir(str).
Travail à faire :
1) Exécuter l’instruction >>> dir(str) et visualiser le contenu de la class str

24
Les structures de
données
3°) Les fonctions prédéfinies sur les chaînes :
1) ‘Bon’+’jour’ Concat

2) 2*‘pa‘  duplication

2) len(‘Lycée’)  long

3) 'Baccalauréat'[5:12] sous-chaine

4) 'Baccalauréat'.find('Bac')pos

5) v=v[:7]+v[10:] efface

6) v=v[ :7]+ ’tte’+v[ 7 :]  insert

7) ch1=str(2016)  convch

8) d=int(’165’) valeur 25

9) d=float(’16.5’) valeur
Les structures de
données
NB : Le langage Python traite aussi le type char via les fonctions
suivantes :

Algorithmique Code en Rôle Exemples


python
ORD (c) ord (c) Le code Ascii du char c ord (‘A’)65
CHR (n) chr (n) Le caractère dont le code Ascii est chr (65)’A’
n
Majus(c) [Link]() Majuscule du char c (chaîne) ‘a’.upper()’A’

Minuscule(c) [Link]() Minuscule du char c (chaîne) ‘A’.lower()’a’


‘ali’.upper() 
‘BONJOUR’.lower() 

26
Les structures de
 données
3°) Les fonctions prédéfinies sur les listes :
Pour afficher les méthodes appropriées à une liste ainsi que la documentation disponible on
utilise les instructions dir(liste) et help(liste.méthodes).
 Ctrl + Espace ou tabulation affiche la liste des méthodes disponibles
 Une liste peut être traitée comme étant un tableau

Travail à faire :
Soit la liste jour = ['lundi', 'mardi', 'jeudi', 'vendredi', 'samedi']

1) Afficher la taille de la liste jour


2) Ajouter un élément (’dimanche’) à la fin de la liste jour
3) Insérer un élément (’mercredi’) à la position (3) dans la liste jour
4) Changer le 3ème élément par ‘lundi’
27
5) Trouver l’index de la 1ère occurrence de l’élément ’lundi’ dans la liste jour
6) Compter le nombre d’occurrence de l’élément ’lundi’ dans la liste
Les structures de
1-len(jour)
données
[Link](‘dimanche’)

[Link](2,’mercredi’)

4-jour[2]=‘lundi’

[Link](‘lundi’)

[Link](‘lundi’)

28
Les structures de
données
3°) Les fonctions prédéfinies sur les listes :

6) Effacer le dernier élément de la liste jour

7) Effacer l’élément à la position p (3) dans la liste jour

8) Effacer un élément (’dimanche’) de la liste jour

9) Trier les éléments de la liste jour

10)Remplir une nouvelle liste par 5 zéro

11)Remplir une nouvelle liste par les entiers consécutifs de 5 à 10

12)Remplir une nouvelle liste par les entiers consécutifs de 5 à 20 avec un pas égale à 3

13)Remplir une nouvelle liste par 10 entiers aléatoires inférieurs à 20


29

14)Remplir une liste par 10 lettres alphabétiques majuscules aléatoires


Les structures de
données
3°) Les fonctions prédéfinies sur les listes :
[Link] ou bien del jour[-1]
[Link](2) ou bien del jour[2] ou bien [Link](jour[2])
[Link](‘dimanche’)
[Link]()
10-liste2=[0]*5 ou 5*[0]
11-l=list(range(5)) // list(range(5,11)) ou bien L = [i for i in range (5,11)]
12-list(range(5,20,3))
13-import random
>>> liste1= [ [Link](20) for i in range (10) ]
14-des lettres aléatoires
liste1= [ chr(65+[Link](26)) for i in range (10) ] 30
Les actions
élémentaires
simples
31
Les actions simples
1°) L’affectation : Syntaxe Syntaxe Python
algorithmique
A 5 A=5
2°) L’opération d’entrée :
Syntaxe algorithmique Syntaxe Python
Lire (variable) Variable=input(’message ’)
Lire (var1,var2,var3) liste=input(’message ’)

NB : La valeur saisie avec input est de type chaîne de caractères

Activité :

Donner les instructions en langage Python permettant la saisie du


nom, de l’âge et de la moyenne annuelle d’un élève.

32
Les actions simples
3°) L’opération de sortie :

Syntaxe algorithmique Syntaxe Python


Afficher (nom_variable) print(nom_variable)
Afficher ("message") print("message")
Afficher print("message",nom_variable)
("message",nom_variable) Print("message" + nom_variable)
print("message
{o}".format(nom_variable))
Afficher (Expression) print (Expression)
Exemples :
print ("bonjour {0} et {1}".format("ali", "salah"))
dc = 11
ds = 12.25 33

print ("La note du dc = {0} , celle du ds = {1} et la moyenne = {2}" .format(dc,ds,


Les actions simples
3°) L’opération de sortie :
Formatage de l'affichage des chaines : Un texte imprimé en python peut être formaté
selon plusieurs méthodes dont nous citons :
 Méthode1: opérateurs de concaténation
soient : a=4 et b=3.26 exécuter les instructions suivantes et déduire le rôle de chacune

• print(a,b,a*b)
• print(a,b,a*b, sep=" ; ")
• print( str(a) +" ; "+str(b) +" ; "+str(a*b))

 Méthode2: l’ancienne printf du langage C


soient : a=4 et b=3.26 exécuter l’instruction suivante et en déduire le rôle
• print (" a= %d , b=%f et le produit = %6.2f" % (a,b,a*b)) 34
On peut avoir aussi d’autres indicateurs tels que :
%o (octale) %u (décimale) %x (hexadécimale) %c (caractère) %s (chaîne)
Les actions simples
3°) L’opération de sortie :
Formatage de l'affichage des chaines :
 Méthode3: Méthode Pythonique basée sur la méthode format
soient : a=4 et b=3.26, exécuter l’instruction suivante et en déduire le rôle
• print(" a= {0} , b={1:f} et le produit = {2:6.2f}".format(a,b,a*b))
Interprétations:
 Le tuple (a,b,a*b) désigne la liste des valeurs à afficher
 {0} désigne le 1er élément dans la liste des valeurs
 {1:f} désigne le 2ème élément dans la liste des valeurs et il est de type
réel
 {2:6.2f} désigne :
 2  l’indice dans la liste des valeurs (3ème valeur)
 : séparateur
 6 désigne la taille de l’affichage ( 6 caractères)
 . Séparateur décimal 35

 2 désigne le nombre de chiffres après la virgule


Les actions simples
3°) L’opération de sortie :
Formatage de l'affichage des chaines :
Exécuter les instructions suivantes et déduire le rôle de chacune:

 print(‘abc’ *4)

 print(‘\nabc’ *4)

 T=[1;10;-5;30;40;20]

 print(T)

 print(T[ ::2])

 print(T[ ::-1])

36
Les structures
conditionnelles

37
Les structures
conditionnelles
1°) La structure conditionnelle simple:
Syntaxe algorithmique Syntaxe en python
[Initialisation] Si condition if condition :
Alors Instruction 1
Instruction Instruction 2
1 ----
Instruction ----
2 Instruction n
----
----
NB: L’indentation Instruction
est obligatoire pour désigner les instructions à exécuter lorsque la
n
condition est vérifiée.
Fin Si
soit la séquence suivante :
if (a>3) :
a = a+2
b=a*2 38

c=b*2
l’instruction "c = b*2" ne fait pas partie du bloc "if".
Les structures
conditionnelles
2°) La forme alternative:

Syntaxe algorithmique Syntaxe en python


[Initialisation] Si condition Alors if conditions:
Instruction 1.1 Instruction 1.1
Instruction 1.2 Instruction 1.2
---- ----
Instruction1. n Instruction 1.n
Sinon else:
Instruction 2.1 Instruction 2.1
Instruction 2.2 Instruction 2.2
---- ----
Instruction2. n Instruction 2.n
Fin Si

39
Les structures
simple) : conditionnelles
1°) La structure conditionnelle simple (cas
Syntaxe algorithmique Syntaxe en python
[Initialisation] Si condition Alors if conditions :
Instruction1 Instruction1
Sinon else :
Instruction2 Instruction2
Fin Si

Autre écriture : instruction1 if conditions else


instruction2 Exemple :
X = "pair" if a % 2 == 0 else
"impair"

40
Les structures
conditionnelles
2°) La structure conditionnelle généralisée:
Syntaxe algorithmique Syntaxe en python
[Initialisation] if condition1 :
Si condition 1 Alors Instruction 1
traitement 1 elif condition2 :
Sinon Si condition 2 Alors Instruction 2
traitement 2 elif condition3 :
Sinon Si condition 3 Alors Instruction 3
traitement 3 ----
----- else :
Sinon Si condition n-1 Alors Instruction n
traitement n-1
Sinon traitement n
FinSi

41
Les structures
conditionnelles
2°) La structure conditionnelle à choix multiple :
Syntaxe algorithmique Syntaxe en python

Initialisation
Selon <identificateur>
valeur1 : instruction1
valeur2 : instruction2
………………….. Non disponible
[Autres : instructions]
Fin Selon

42
Les structures
itératives

43
Les structures
itératives
1°) La structure itérative complète:
Syntaxe algorithmique Syntaxe Python
Pour compteur de Début à Fin (pas) Faire for variable in sequence :
traitement traitement
Fin pour

NB : sequence est un ensemble d’éléments tels que liste, tuple, etc.


Question : Exécuter à la main les exemples suivants et déduire le rôle de
chacun

Exemple1 :
maListe=[’A’,’B’,’C’,’D’,’E’,’F’]
for i in maListe :
print(i)
Exemple2 :
for i in maListe[:2] : 44
print(i)
Les structures
itératives
1°) La structure itérative complète:

Exemple 3 :
for i in maListe[1:4:2] :
print(i)

Exemple 4 :
for i in range(5):
print(i)

Exemple 5 :
for i in "Bonjour" :
print (i+ " * ")

45
Les structures
itératives
1°) La structure itérative complète:

Application 1 : (Activité 1 page 108 du manuel scolaire)


Ecrire un programme Python qui saisit un entier naturel n suivi de n
réels à mettre dans un tableau M. Le programme affiche ensuite toutes les
valeurs de M supérieures à 10.

46
Les structures
itératives
1°) La structure itérative complète:

Application 2 :
Ecrire un programme Python qui saisit un mot composé de lettres en
majuscules et qui remplace chacune de ses lettres par sa symétrique dans la
liste de l'alphabet par rapport au milieu. Par exemple, la lettre A sera
remplacée par la lettre Z et réciproquement, la lettre J par la lettre Q et
réciproquement. A la fin, le programme affiche la chaîne résultat.

47
Les structures
itératives
1°) La structure itérative à condition d’arrêt :
Syntaxe algorithmique Syntaxe Python
1- [Initialisations] Tant Que conditions
Faire Initialisations
action1 while conditions :
action2 action1
… action2
action n …
Fin Tant Que action n

Syntaxe algorithmique Syntaxe Python


1- [Initialisations] Répéter
action1
action2
… Non disponible
action n
Jusqu’à conditions 48
Les structures
itératives
1°) La structure itérative à condition d’arrêt :

Application 1 Ecrire un programme qui vérifie si une valeur x existe dans un


tableau T de n réels. x est une valeur réelle donnée. Le programme affichera un
message de la forme : "x existe dans T" ou "x n'existe pas dans T".

n=0
while n<1:
n=int(input("Donner le nombre d\'éléments :
"))

T = [0] * n
for i in range(n):
T[i]=eval(input("Donner T["+str(i+1)+"]: "))

x = eval (input("Donner un nombre à chercher :


")) 49

xx = "Existe dans T" if x in T else "N\'existe pas


dans T"
Modularité
1°) Les fonctions :
Appel
Syntaxe algorithmique Syntaxe Python

Nom_objet  Nom_fonction (pe1, pe2, … , pen) 1) Nom_objet = Nom_fonction (pe1, pe2, … , pen)

2) ob1, ob2, …,obn = Nom_fonction (pe1, pe2, … , pen)

Une fonction en python peut retourner plusieurs résultats;

L'entête de la définition :

Syntaxe algorithmique Syntaxe Python

Fonction Nom_fonction (pf1 : type1, pf2 : type2, … , pfn : typen) : def Nom_fonction (pe1, pe2, … , pen) :
type_fonction 50
return ob1 [, ob2, ob3, … , obn]
Modularité
2°) Les procédures:
Appel
Syntaxe algorithmique Syntaxe Python

Nom_procedure (pe1, pe2, … , pen) Nom_procedure (pe1, pe2, … , pen)

L'entête de la définition :

Syntaxe algorithmique Syntaxe Python

Procédure Nom_procedure (pf1 : type1, pf2 : type2, … , pfn : typen) def Nom_procedure (pe1, pe2, … , pen) :

51
Modularité
Application :
Ecrire un module pour vérifier si une chaine ch est composée uniquement par des lettres
majuscules.
def uniquementLettres(ch):
i=0
while i!= len(ch) and ord(ch[i]) in range(65,91): def uniquementLettres (ch) :
i=i+1
L = [chr (i) for i in range ( 65 ,
return i==len(ch)
x]91 [) i for i in if i not in L
] ch
=return ( len ( x ) == 0 )
def uniquementLettres (ch):
i=0
while True: def uniquementLettres (ch) :
if i== len(ch) or ord(ch[i]) not in x = [ i for i in ch if chr(i) not in range ( 65 , 91
range(65,91): return ( len ( x ) == 0 )
break def uniquementLettres (ch) :
else : L= [chr(i) for i in range(65,91)]
i=i+1 returnlen
( ( set(ch)-set(L)) == 0
return i==len(ch) )
Modularité
3°) Le mode de passage des paramètres par
référence :
Syntaxe algorithmique Syntaxe Python

Ajout du mot var Pas de changement au niveau de l’entête

Application 1 : Ecrire un module qui saisit un entier


def saisie (x) :
x = int (input ( "Donner un entier :
" ))
print(x)
a=0
b=0 Les paramètres de structure simple sont passés
saisie (a) par valeurs.
print (a)
saisie (b) 53

print (b)
Forme générale d’un
Syntaxe
algorithmique
programme
from math import * from math import *
def carre(x): abc1 = 5
ALGORITHME Nom x = ….. def carre(x):
DEBUT x = …..
traitements def carre2(y):
FIN y = ….. abc2 = 2
for j in range (3): abc3 = abc1+abc2
y = …. print (abc3)
abc1 = 5 def carre2(y):
abc2 = 2 y = …..
abc3 = abc1+abc2 for j in range (3):
for i in range (5): y = ….
if ( i % 2 == 0 ) : for i in range (5):
carre('red') if ( i % 2 == 0 ) :
else : carre('red')
carre('blue') else :
print (abc3) carre('blue')
54
Webographie

 [Link]
 [Link]
 [Link]
 [Link]
 [Link]
 [Link]
 [Link]

55
Merci Pour votre attention

56

Vous aimerez peut-être aussi