Python 1ère Partie
Python 1ère Partie
1ère partie
1
Plan
Introduction
2
Introduction
3
Introduction
2. Un peu d’histoire
1989 : Création du Python par Guido Van Rossum
1994 : Publication de la version 1.0
16 Octobre 2000 : Publication de la version 2.0
3 décembre 2008 : Publication de la version 3.0
27 Juin 2009 : Publication de la version 3.1
20 Février 2011 : Publication de la version 3.2
29 Septembre 2012 : Publication de la version 3.3
16 Mars 2014 : Publication de la version 3.4
13 Septembre 2015 : Publication de la version 3.5
23 décembre 2016 : Publication de la version 3.6
31 janvier 2018 : Publication de la version 3.7
24 Décembre 2018 : Publication de la version 3.7.2
4
Introduction
3. Qui utilise Python?
5
Introduction
4. Pourquoi préférer Python aux autres langages?
Python devient le langage de programmation le plus populaire (mai 2018)
6
Introduction
• Python est gratuit : Téléchargement et installation de python est gratuit et
facile, Le code source est accessible
• Python est Facile à apprendre : la Structure et la syntaxe sont assez intuitive
et facile à saisir
• Indentation du code : Pas de begin et end explicites, ni d'accolades pour les
blocs d’instructions.
• Très documenté : les documentations officiels de python se trouvent dans :
https://docs/www.python.org
• Python est portable et multiplateforme
• Python est interprété : test de quelques lignes du code sans besoin d’écrire
un programme complet
• Python est puissant :Typage dynamique, gestion automatique de la mémoire,
riche en terme de bibliothèque, …
• Python est Joker : il est utilisé pour l’administration système, les applications
bureau, le web, jeux vidéo, ….
• Python c'est l'avenir : python c'est le métier de l'avenir, to make money
7
Introduction
5. Installation de Python
Sous Windows :
• Visiter le site :https://www.python.org/downloads/
• télécharger la dernière version pour windows (Download
Python 3.7.2) (Choisir la version compatible avec votre
système 32-bits ou bien 64-bits)
• Installer ensuite python
• Dans le menu windows vous trouvez Python
• ouvrir IDLE
• Commencer à coder
N.B. : Python est préinstallé sut la plupart des systèmes Unix,
Linux, Mac Os, etc…
8
Introduction
6. IDLE : Editeur pour Python
IDLE (Integreted DevLopement Environement) :
L’environnement de développement intégré IDLE est un logiciel
spécialement conçu pour faciliter la programmation en Python
IDLE offre un certain nombre de fonctionnalités pour vous aider à
développer vos programmes Python comme :
Le Shell Python (Interpréteur interactive )
L’éditeur de texte avec coloration syntaxique, l’auto complétion et
l’indentation
Le débogueur intégré avec avancement par étape
N.B. :
IDLE est l’éditeur standard fourni avec la distribution Python
On peut utiliser d’autres éditeurs comme exemples : visual studio code,
MU, Pycharme, etc…
9
Introduction
Activité :
Choisir un éditeur Python : Mu par exemple
Taper ce code
#Mon premier code en Python : #c'est un commentaire
print('Salut mes collègues ')
print('Hello')
print('Mon premier code en python')
"""
ceci est un
commentaire long
"""
1. Les constantes :
Activité :
Pi=3.14
Est ce qu'on peut modifier La valeur de Pi?
Pi est le rapport constant de la circonférence d'un cercle C à son
diamètre D (Pi=C/D=3.14)
Définition :
Une constante est une donnée dont la valeur ne peut subir
aucune modification au cours du programme
11
I- Les structures de données
Les constantes et les variables
Activité :
Ecrire un code en Python qui permet :
D’afficher la constante pi,
D’additionner pi avec 1, et de l’affecter à pi
D’afficher pi encore une autre fois.
Exécuter ce code, que constatez vous?
Fermer l'éditeur IDLE et ouvrir de nouveau et afficher la constante pi.
Que constatez vous?
Solution :
from math import * #importer la bibliothèque du module math
print('Pi = ',pi) #Afficher la valeur de pi
pi=pi+1
print('Pi = ',pi) #Afficher la valeur de pi après modification
• On constate que la constante pi peut être changer au cours du programme
• On remarque que la valeur pi est toujours initialisé à 3.14
12
I- Les structures de données
Les constantes et les variables
2. Les variables :
Définition :
Une variable est un objet auquel une valeur peut être affectée et
qui peut subir des modifications au cours du traitement
Déclaration :
Nom_Variable = Valeur_Variable
= correspond à une affectation
13
I- Les structures de données
Les constantes et les variables
Activité :
Déclarer la variable age=17, puis faire appel à l'aide du nom age,
Age et AGE
Que constatez vous?
Solution :
age=17
print ('age=', age)
print ('age=', Age) #Erreur
print ('age=', AGE) #Erreur
N.B. :
• Les lettres majuscules et minuscules ne constituent la même
variable (age <> Age <> AGE)
• Python est sensible à la casse, ce qui signifie les variables
age, Age et AGE sont différentes
I- Les structures de données
Les types de données
Activité 5 :
a=32 et b=2.5
Déterminer le type des variables a et b.
Solution :
a=32
print(type(a)) #<class 'int'>
b=2.5
print(type(b)) #<class 'float'>
N.B. : Le modèle de données de Python est basé sur les objets.
Toute donnée manipulée est un objet avec un identifiant, un
type et une valeur.
• id() : renvoie l’identifiant d’un objet.
• type() : renvoie le type d’un objet.
• dir() : liste l’ensemble des fonctionnalités d’un objet.
I- Les structures de données
I.2 Les types de données
En Python, les types de données sont classés généralement en trois
catégories : les valeurs numériques, les valeurs alphanumériques et les
nombres complexes.
Les types de données les plus utilisés sont :
Les entiers (Exemple 100)
Les réels (Exemple 5.99) (on utilise un point décimal et non une
virgule)
Le type complexe (Exemple 5+2j)
Le type booléen
Les chaines de caractères : mot / Phrase (Exemple 'Bonjour')
Le type liste
Le type tuple
Le type set
Le type dictionnaire
I- Les structures de données
I.2 Les types de données
a=20
b=3
print('a=',a)
print(type(a))
print(a,'+',b,'=',a+b) #La somme de a + b
print(a,'-',b,'=',a-b) #La soustraction de a - b
print(a,'*',b,'=',a*b) #La multiplication de a * b
print(a,'/',b,'=',a/b) #La division de a / b
print(a,'**',b,'=',a**b) #La puissance de a ** b
print(a,'//',b,'=',a//b) #La division entière de a // b
print(a,'%',b,'=',a%b) #Le reste de la division entière a %
b
I- Les structures de données
I.2 Les types de données
a=20.5
b=3.2
print('a=',a)
print(type(a))
print(a,'+',b,'=',a+b) #La somme de a + b
print(a,'-',b,'=',a-b) #La soustraction de a - b
print(a,'*',b,'=',a*b) #La multiplication de a * b
print(a,'/',b,'=',a/b) #La division de a / b
print(a,'**',b,'=',a**b) #La puissance de a ** b
print(a,'//',b,'=',a//b) #La division entière de a // b
print(a,'%',b,'=',a%b) #Le reste de la division entière a % b
I- Les structures de données
I.2 Les types de données
c. Les opérateurs de comparaison sur les entiers et
les réels :
a=7
b=5
c=2
d=9
w= a * b // d % c #1
x= (a * b) // (d % c) #35
y = a-b * c + d #6
z= (a-b) * c + d #13
print(w)
print(x)
print(y)
print(z)
I- Les structures de données
I.2 Les types de données
print(not(2<1)) #True
print((5>3) and (1==2)) #False
print((7==8)or(4!=3)) #True
I- Les structures de données
I.2 Les types de données
b- Formatage de chaîne :
À chaque expression précédée d’un %, appelé marqueur de formatage, doit
correspondre une valeur de formatage
manipulation
Fonctions Description
permet la concaténation de deux ou plusieurs chaînes des
+
caractères
* permet la répétition d’une chaîne n fois
Len(ch) Retourne le nombre de caractères d'une chaîne
Ch.strip() Enlève les espaces en début et en fin d'une chaîne Ch
Ch.lower() Mettre tous les caractères d’une chaîne Ch en minuscules
Ch.upper() Mettre tous les caractères d’une chaîne Ch en majuscules
Vérifier si tous les caractères d’une chaîne Ch sont en
Ch.isupper()
majuscules (True / False)
Ch.find(sous- Retourne la position d'une sous chaîne dans une chaîne
chaine) Ch
I- Les structures de données
I.2 Les types de données
Fonctions Description
Retourne le nombre d'occurrence d'une sous
Ch.count(sous-chaîne)
chaîne dans une chaîne Ch
Ch.replace(ancien-cara, nouveau- Remplacer les n premières occurrences d’un
car, n-prem-occ) caractère par un autre dans une chîne Ch
permet de créer une liste, qui contient les
Ch.split(caract_séparation )
éléments d'une chaine Ch en les séparant
(découper) par un caractère choisi
max(ch) Retourne le caractère maximum d'une chaîne
Min(ch) Retourne le caractère minimum d'une chaîne
Inclusion – retourne True si Ch1 est dans Ch
Ch1 in Ch
False si non
Non inclusion - retourne True si Ch1 n'est pas
Ch1 not in Ch
dans Ch, False si non
I- Les structures de données
I.2 Les types de données
Remarque :
Python est un langage dynamique : on peut changer le contenu de
variable, et le type sera changer automatiquement,
Activité : Taper et exécuter le code suivant
x=5
print(type(x)) # <class 'int'>
x='Bonjour'
print(type(x)) # <class 'str'>
x=False
print(type(x)) # <class 'bool'>
x=12.75
print(type(x)) # <class ‘float'>
x=7-3j
print(type(x)) # <class ‘complex'>
I- Les structures de données
I.2 Les types de données
Remarque :
Autre truc qui existe exclusivement avec python, c'est l’affectation
multiples (= multiple assign )
Activité : Taper et exécuter le code suivant
x,y,z =100,5.9,'Bonjour‘ #Multiple assign
print(x) #100
print(y) #5.9
print(z) #’Bonjour’
a=b=c=1
print(a)
print(b)
print(c)
I- Les structures de données
I.2 Les types de données
a=15
b=20
a,b=b,a
print(a) #20
print(b) #15
I- Les structures de données
I.2 Les types de données
Remarque : Cast en python
Transtyper ou cast (en anglais) une variable : c’est-à-dire convertir une variable
d'un type à un autre
Activité : Taper et exécuter le code suivant
x=5
print('le type de x est : ')
print(type(x))
x=str(x) #str permet de transformer le type entier en string
print('le type de x est devenu : ')
print(type(x))
N.B. :
• Nom_var=str(Nom_var): permet de transformer une variable de type entier ou réel en
une chaîne
• Nom_var=int(Nom_var) : permet de convertir une variable de type chaîne ou réel en
entier
• Nom_var=float(Nom_var) : permet de convertir une variable de type chaîne ou
entier en réel
II- Les Entrées –Sorties en Python
Entrée Sortie
II- Les Entrées –Sorties en Python
s entrées
La fonction input() effectue toujours une saisie en mode texte (la
valeur retournée est une chaîne) dont on peut ensuite changer le type
(on dit aussi « transtyper » ou cast en anglais)
Activité : Taper et exécuter le code suivant
f1=input("Entrez un flottant : ")
print(type(f1)) #<class ’str’>
f2=float(input("Entrez un autre flottant : "))
print(type(f2)) #<class ’float’>
x=input("Entrez un entier : ")
print(type(x)) #<class ’str’>
x=int(input("Entrez un entier : "))
print(type(x)) #<class ’int’>
y=int(input("Entrez un entier : ")) + 1
II- Les Entrées –Sorties en Python
Les sorties
La fonction print() permet d’afficher ou sortir des informations
sur écran
Activité : Taper et exécuter le code suivant
Présentation :
Une structure de contrôle conditionnelle permet
à un programme de modifier son traitement en
fonction d’une condition.
Une condition est une expression qui renvoie
une des deux valeurs suivantes : Vrai (True) ou
Faux (False)
III- Les structures conditionnelles en Python
La Forme simple réduite
a. Définition:
b- Syntaxe
if condition: (: représente la fin de la condition)
traitement ou bien pass
#Retour à la ligne sans
indentation
N.B. :
Pour identifier les instructions composées, Python utilise la notion
d’indentation significative. Cette syntaxe met en lumière un bloc
d’instructions et permet d’améliorer la lisibilité des programmes
sources.
Toutes les instructions au même niveau d’indentation appartiennent
au même bloc.
L’instruction pass ne fait rien. Elle peut être utilisée lorsqu’une
instruction est nécessaire pour fournir une syntaxe correcte, mais
qu’aucune action ne doit être effectuée.
III- Les structures conditionnelles en Python
La Forme simple réduite
ph=6.0
if ph<7.0:
print("C’est un acide.")
if ph>7.0:
print("C’est une base.")
III- Les structures conditionnelles en Python
La Forme complète
a. Définition :
b. Syntaxe
n=5
if n<=0:
print(n, 'est négatif ou nul')
else:
print(n,'est positif')
III- Les structures conditionnelles en Python
La Forme généralisée
a. Définition :
Une structure de contrôle conditionnelle généralisée permet de
résoudre des problèmes comportant plus de deux traitement en
fonction des conditions
L’exécution d’un traitement entraîne automatiquement le non
exécution des autres traitements
III- Les structures conditionnelles en Python
III.3 La Forme généralisée
b. Syntaxe :
if condition1 : (: représente la fin de la condition)
traitement1
elif condition2 :
traitement2 ou bien pass
elif condition3 :
traitement3 ou bien pass
........
else:
traitementn
#Retour à la ligne sans indentation
:Avec python, il faut respecter bien l'alignement, c'est à dire les conditions doivent être en
même niveau et les traitements doivent être aussi au même niveau (notion d’indentation)
III- Les structures conditionnelles en Python
III.3 La Forme généralisée
abonnes = 100
if abonnes > 100:
print('Vous continuez avec youtube')
elif abonnes > 50:
print('Faites un autre effort')
else:
print('Arrêtez avec youtube')
III- Les structures conditionnelles en Python
Applications :
Solution :
sexe=input('Entrer votre sexe : ')
taille=int(input('Entrer votre taille :
')) print(type(sexe))
print(type(taille))
if sexe=='Homme':
if (taille > 80 and taille <= 140 ):
print('Désolé vous n\'êtes pas accepté ')
elif (taille > 140 and taille <= 170 ):
pass #L’instruction pass ne fait rien, aucune action ne doit être effectuée
elif (taille > 170) and (taille <= 200):
print('Vous êtes accepté ')
else:
print('Votre taille n\'est pas concernée ')
elif sexe=='Femme':
if (taille > 60 and taille <= 120 ):
print('Désolé vous n\'êtes pas accepté ')
elif (taille > 120 and taille <= 150 ):
pass #L’instruction pass ne fait rien, aucune action ne doit être effectuée
elif (taille > 150):
print('Vous êtes accepté ')
else:
print('Votre taille n\'est pas concernée ')
else:
print('Ce sexe n\'existe pas')
IV- Les structures itératives en Python : Les boucles
a- Définition :
La boucle For permet de répéter une ou plusieurs instructions
un nombre fini de fois connu à l'avance
IV- Les structures itératives en Python : Les boucles
La boucle for
b- Syntaxe :
Condition
compteur in
for sequence :
traitement
else:
traitement
#Retour à la ligne sans indentation
N.B. :
• Les éléments de la séquence sont issus d’une chaîne de caractères, d’une
liste, …
• Le compteur prend successivement la valeur de chaque élément de la
séquence, en commençant par le premier
• Lorsque l’exécution est achevée, un traitement optionnel présenté par
else est à son tour exécuté.
IV- Les structures itératives en Python : Les boucles
La boucle for
Exécution :
2
a
3.14
>>>
IV- Les structures itératives en Python : Les boucles
La boucle for
N.B. :
bor_inf : représente la borne inférieure du compteur, c'est le point départ, si
on ne met pas la borne inférieure, par défaut la borne inférieure
commence par 0
bor_sup : représente la borne supérieure du compteur, c'est le point d'arrêt
du compteur, (cette valeur est exclue), donc il faut obligatoirement
mentionné cette valeur
Pas : représente la valeur d’avancement du compteur, par défaut le pas = 1
IV- Les structures itératives en Python : Les boucles
La boucle for
for i in range(5,17,3): #le compteur commence par 5, le point d’arrivé =17 (exclue), le pas =3
print(i)
5
8
11
14
>>>
IV- Les structures itératives en Python : Les boucles
La boucle for
Ou bien :
for i in range(5): #nb de répétition = 5, le compteur commence par 0, le point d’arrivé =4, le pas =1
print(i)
Exécution :
0
1
2
3
4
>>>
IV- Les structures itératives en Python : Les boucles
La boucle for
Application :
a- Définition :
La boucle while permet de répéter une ou plusieurs
instructions tant qu’une expression est vérifiée en renvoyant True
Lorsque l’expression n’est plus vraie, la partie else est exécutée si elle
existe (optionnelle) et la boucle s’arrête
Cette structure est utilisée lorsque le nombre de répétition est inconnu à
l’avance
IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while
b- Syntaxe :
Condition
while condition :
traitement
else:
traitement
#Retour à la ligne sans indentation
N.B. :
• Lorsque l’exécution est achevée (la condition est évaluée à False) , un
traitement optionnel présenté par else est à son tour exécuté.
IV- Les structures itératives en Python : Les boucles
IV.2 La boucle while
Application :
Ecrire un programme en Python qui permet de
calculer le PGCD de deux entiers positifs donnés a et
b par la méthode de soustraction (différence)
• Pgcd(a, b)=Pgcd(a-b, a) si a>b
• Pgcd(a, b)=Pgcd(a, b-a) si b>a
• Pgcd(a, b)=a si a=b
IV- Les structures itératives en Python : Les boucles
La boucle while
a = int(input('saisir a : '))
while not(a>0) :
a = int(input('Saisir a : '))
b = int(input('saisir b : '))
while not(b>0) :
b = int(input('Saisir b : '))
while a!= b :
if a>b :
a=a-b
else:
b=b-a
print('Le PGCD = ', a)
IV- Les structures itératives en Python : Les boucles
Les boucles imbriquées
Exécution :
50
>>>
IV- Les structures itératives en Python : Les boucles
IV.4 Contrôle de boucle (break, continue)
Les Commandes de base pour créer des graphiques avec le module turtle
sont les suivantes :
up(), penup() : Relever le crayon (pour pouvoir avancer sans dessiner)
down() : Abaisser le crayon (pour pouvoir recommencer à dessiner)
speed(''texte'') : définir la vitesse de la tortue
forward(distance) : avancer d’une distance (en pixel)
backward(distance) : Reculer d’une distance (en pixel)
left(angle) : Tourner à gauche d'un angle donné (exprimé en degré)
right(angle) : tourner à droite d'un angle donné (exprimé en degré)
goto(x,y) : se déplacer vers le point de coordonnées (x,y)
width(épaisseur) ou bien pensize(épaisseur) : définir l‘épaisseur du tracé
V- Le graphique avec Python
Module turtle
N.B. :
Pour la commande color(''couleur'') , les couleurs suivantes peuvent
être choisies : ‘blue’, ‘red’, ‘black’, ‘green’, ‘pink’, ‘orange’, ‘white’, ‘brown’,
‘yellow’, ‘grey’, ‘purple’, etc…
Pour la commande speed(''texte'') , on peut choisir (du plus lent au
plus rapide) : ‘slowest’, ‘slow’, ‘normal’, ‘fast’ et ‘fastest’.
Ne pas oublier d'utiliser la fonction up() avant d'utiliser goto(x,y) car
sinon il tracera le parcours effectué
V- Le graphique avec Python
Module turtle
111
V- Le graphique avec Python
Module turtle
112
V- Le graphique avec Python
Module turtle
113
V- Le graphique avec Python
Module turtle
114
V- Le graphique avec Python
Module turtle
115
V- Le graphique avec Python
Module turtle
116
V- Le graphique avec Python
Module turtle
117
V- Le graphique avec Python
Module turtle
118
V- Le graphique avec Python
Module turtle
119
V- Le graphique avec Python
Module turtle
121
V- Le graphique avec Python
Module turtle
122
V- Le graphique avec Python
Module turtle
123
V- Le graphique avec Python
Module turtle
124
V- Le graphique avec Pythn
Module turtle
125
V- Le graphique avec Python
Module turtle
126
V- Le graphique avec Pythn
Module turtle
127
V- Le graphique avec Python
Module turtle
128
V- Le graphique avec Python
Module turtle
129
V- Le graphique avec Python
Module turtle
#Cercle 1
up()
goto(0,-45)
pensize(5) #Epaisseur = 5
color('white') #Couleur = 'blanc'
begin_fill()
down()
circle(100) #Cercle de rayon = 80
end_fill()
130
V- Le graphique avec Python
Module turtle
#Cercle 3
up()
goto(30,0)
pensize(5) #Epaisseur = 5
color('white') #Couleur = 'white'
begin_fill()
down()
circle(50) #Cercle de rayon = 50
end_fill()
# Création de l'étoile
up()
goto(0,60)
color("red")
pensize(5)
down()
begin_fill()
x=5
for i in range(x) : #Répétition 5 fois (5 segments d'une
étoile forward(60) #Avancement d'une distance = 75
right(144) #Tourner à droite d'angle = 144
end_fill()
131