3. Formation
C’est quoi Python ?
Python est un langage de programmation créé en 1989 par Guido van Rossum.
La première version publique de ce langage a été publiée en 1991.
Python est un langage de programmation de haut niveau.
Python est gratuit, dont le code source est accessible.
Python est un excellent langage pour les débutants.
La dernière version est 3.7.2 publiée en Décembre 2018.
Site officiel: https://www.python.org/
Présentation et caractéristiques
4. Formation
Pourquoi Python ?
Est interprété.
Est orienté-objet.
Est portable, et multiplateforme (Windows, Mac OS, Linux, Android, iOS).
La syntaxe très simple conduit a des programmes très lisibles et
très court (de 3 a 5 fois plus court qu’un programme C ou C++).
Est dynamiquement typé=>pas besoin de déclaré les objets à l’avance.
Intègre, un système d’exceptions, pour simplifier la gestion des erreurs.
Présentation et caractéristiques
5. Formation
Que peut-on faire avec Python ?
du calcul scientifique
du traitement d'image et du son
des jeux vidéo en 2D
des applications avec interface graphique GUI
des applications multi-touch (pour tablette et smartphone à écran tactile)
des applications Web…
Présentation et caractéristiques
7. Formation
Télécharger et installer la dernière version 3.7.2
https://www.python.org/downloads/
Installation et environnement du travail
File New File
9. Formation
Activité 1 : Découverte des modules installés-1
1) Afficher les modules (ou les bibliothèques) installés
2) Afficher l’aide de la bibliothèque "math"
3) Afficher la valeur de pi et calculer la racine carrée de 2.
4) Importation du module "math"
Installation et environnement du travail
>>> help ("modules")
>>> import math
>>> from math import *
>>> from math import pi, sqrt, factorial
10. Formation
Activité 1 : Découverte des modules installés-2
- Afficher l’aide de la bibliothèque "turtle"
- C’est un module graphique du langage Python.
- C’est un outil très utilisé pour introduire la programmation aux enfants.
- Il permet de déplacer une tortue sur l’écran pour réaliser des dessins.
Installation et environnement du travail
11. Formation
Activité 2 : Installation de nouvelles bibliothèques
NumPy est une bibliothèque numérique destinée à manipuler
des tableaux multidimensionnels ainsi que des fonctions
mathématiques opérant sur ces tableaux.
Installation de la bibliothèque "numpy " (méthode 1)
1. Accéder à l’invite de commandes du windows : cmd
2. Accéder au dossier d’installation du python
3. Taper la ligne de commande : pip install numpy
Installation et environnement du travail
12. Formation
Activité 2 : Installation de nouvelles bibliothèques
Installation de la bibliothèque "numpy " (méthode 2)
1. Télécharger le module numpy. https://pypi.org/project/numpy/#files
1. Extraire le fichier téléchargé.
2. Copier dans le dossier : C:Python37Libsite-packages
Installation et environnement du travail
13. Formation
Activité 3 : Notion de constante
Une constante est un objet dont l'état reste inchangé durant toute
l'exécution d'un programme.
Afficher la constante Pi.
Ajouter à Pi la valeur 5.
Réafficher la constante Pi.
Que constater vous?
Les structures de données
Python ne supporte pas le concept de constantes.
Chaque objet peut être modifier au cours du programme.
>>> from math import *
>>> pi
>>> pi=pi+5
14. Formation
Les variables
Une variable est un identificateur associé à une valeur.
La déclaration d’une variable et son initialisation se font en même temps.
Python est sensible à la casse ce qui signifie que les variables age, Age
ou AGE sont différentes.
Les structures de données
nom_variable = valeur
15. Formation
Activité 4 :
Déclarer une variable a ayant la valeur 5.
1) Afficher le type de la variable a.
2) Afficher les fonctions disponibles pour manipuler la variable a.
Affecter 12.45 à la variable a.
Appliquer les traitements 1 & 2.
Affecter ‘’toto’’ à la variable a.
Appliquer les traitements 1 & 2.
Les structures de données
Le Typage dynamique
>>> type (a)
>>> dir (a)
16. Formation
En Python on distingue deux sorte de types:
Les types simples
Le type entier (int)
Le type réel (float)
Le type booléen (bool)
Le type complexe (complex)
Les types composés
Le type chaine de caractères (str)
Le type liste (list)
Le type tuple (tuple)
Le type dictionnaire (dict)
......
Les structures de données
17. Formation
Activité 5 : Le type Entier
Soit a=16 et b=5 deux variables de type int, faire les calculs suivants :
Les structures de données
Opération Syntaxe en Python Résultat
Addition a+b 21
Soustraction a-b 11
Multiplication a*b 80
Division a/b 3.2
Puissance a**b 1048576
Division entière a//b 3
Reste de la division a%b 1
‘int’
18. Formation
Activité 6 : Le type Réel
Soit a=10.5 et b=3.25 deux variables de type float, faire les calculs suivants :
Les structures de données
Opération Syntaxe en Python Résultat
Addition a+b 13.75
Soustraction a-b 7.25
Multiplication a*b 34.125
Division a/b 3.23076923076
Puissance a**b 2083.84408701
Division entière a//b 3.0
Reste de la division a%b 0.75
‘float’
19. Formation
Activité 7 : Le type Chaine de caractères
Soit a= ‘0123456789’ une variable de type ‘str’.
Exécuter les scripts : a [0], a [-1]
Exécuter a [0] = ‘b’
Exécuter les scripts :
a[1 : 4] , a[0: 8 : 2]
a[2 :] , a[ : 3] , a[ : ] ,
a[ 1 : -1] , a[ : : -1]
Les structures de données
Python a intégré
l’indexation négative
Le type "str" en python
est immutable
Découpage en sous chaines
a[i : j] donne la tranche de a de i à j-1
a[i : j:k] donne la tranche de a de i à j-1 avec un pas de k
‘str’
21. Formation
Affichage de données :
Cette opération permet d’afficher ou d’écrire le contenu d’une variable
ou la valeur d’une expression.
Syntaxe:
Les structures simples
print (‘message’) #affichage d’un texte
print (variable) #affichage d’une variable
print (‘msg1’, v1,..) #affichage mixte
print (expression) #affichage du résultat d’une expression
print (v1, v2, v3,…, sep=‘séparateur’) #affichage avec séparateur spécifique
22. Formation
Entrée de données :
Pour lire une entrée (donnée) dans un programme, on a besoin
d’une opération d’entrée, appelée aussi opération de lecture.
Syntaxe:
Les structures simples
nom_variable= input (‘message’)
Message qui s’affiche avant la
saisie du contenu de la variable
23. Formation
Activité 9 : Entrée de données
Ecrire un script Python qui permet de saisir deux entiers a et b puis
d’afficher le quotient et le reste de la division de a par b.
Les structures simples
La saisie d‘une donnée en Python est par défaut de type string.
En Python Le transtypage ou le casting se fait par la spécification
du type à aboutir en utilisant les fonctions int(), float(), str(), list ()
>>> a= int (input ("Donner a : "))
24. Formation
Activité 10 : Saisie simultanée de données-1
Saisir le nom, le prénom et l'âge d’une personne, dans trois variables
avec un seul appel à la fonction input.
syntaxe
Les structures simples
v1, v2, v3,… = input (" message: ") . split ( "séparateur ")
Le séparateur peut être:
Espace, Point, virgule, …
25. Formation
Activité 11 : Saisie simultanée de données-2
Saisir le nom, le prénom et l'âge d’une personne, dans une variable pr .
Afficher le type de pr.
Les structures simples
La saisie de plusieurs données simultanément
dans une seule variable renvoie au type ‘list’.
26. Formation
Le type ‘list’: Présentation
Une liste est une collection ordonnée d’éléments éventuellement
hétérogènes; ces éléments sont séparés par des virgules, et entourés de
crochets et accessibles à l’aide des indices associés (maliste [indice]).
Déclaration :
Les structures de données
Maliste= [] #déclartion d’une liste vide
Maliste= [v1, v2, v3,…] #initialiser une liste par des valeurs
‘list’
27. Formation
Activité 12 : Le type ‘list’ Présentation
Visualiser l’âge de la personne pr de l’Activité 11.
Modifier l’âge de cette personne.
Afficher la variable pr.
Copier dans une nouvelle variable p2 la variable pr.
Modifier l’âge de p2.
Consulter l’âge de pr.
Les structures de données ‘list’
En Python une liste est modifiable.
La copie des variables de type "list" se fait par référence.
>>> pr [2]
>>> pr [2]=45
>>> p2 = pr
>>> p2 [2] =93
28. Formation
Activité 13 : Quelques traitements sur les listes-1
Soit cl1 une liste contenant les valeurs suivantes: ‘rouge’, ‘vert’, orange’.
Déclarer la liste cl1.
Réaliser une copie de cl1 dans cl2 (avec une duplication du contenu dans la RAM)
Remplacer la couleur ‘orange’ par ‘bleu’ dans la liste cl2.
Afficher la liste cl1.
Les structures de données ‘list’
>>> cl2 = cl1 [:]
>>> import copy
>>> cl2 = copy.deepcopy (cl1)
29. Formation
Activité 14 : Quelques traitements sur les listes-2
Tester les fonctions suivantes sur la liste L=[15, 20, 9, 20, 7, 14, 9, 9]
Les structures de données ‘list’
Fonction Role
len Retourne la taille d’une liste
max Retourne le maximum d’une liste
min Retourne le minimum (maximum) d’une liste
sum Retourne le total des éléments d’une liste numérique
list Convertit une chaine en une liste
del Efface un élément d’une liste
30. Formation
Activité 15 : Quelques traitements sur les listes-3
Tester les méthodes suivantes sur la liste k=[‘Un’, 10.25, 4, True, 4]
Les structures de données ‘list’
31. Formation
Activité 16 : Quelques traitements sur les listes-4
1. Générer une liste L1 contenant les 10 premiers chiffres.
2. Répondez à la question suivante en une seule ligne de commande.
Combien y a-t-il de nombres pairs dans l’intervalle [2 , 10000] inclus ?
3. Mélanger aléatoirement les éléments de la liste.
4. Supprimer les doublons de la liste.
Les structures de données ‘list’
La fonction range() génère une liste d’entiers compris dans un intervalle.
range( dep, fin ,pas)
>>> random.shuffle (L1)
>>> L1= set (L1)
32. Formation
Activité 17 : soit L1 une liste définie par L1=[‘a’, ‘b’, 5, 4.5]
1) Créer dans L2 une copie protégée de L1 contre la modification.
2) Exécuter l’instruction L2 = (L1 , ), puis afficher le type de L2.
3) Afficher la taille de L2.
4) On veut avoir pour chaque élément de L1 son nombre d’occurrence.
Les structures de données ‘tuple’
En Python le type tuple permet de créer des sortes de
listes non modifiables.
>>> L2 = tuple (L1)
33. Formation
Un dictionnaire en Python est une sorte de liste mais au lieu d'utiliser
des index , on utilise des clés , c'est à dire des valeurs autres que
numériques.
Les structures de données ‘dict’
34. Formation
Un dictionnaire a ses propres méthodes : help(dict)
Exemples:
len(dico) : renvoie taille du dictionnaire
dico.keys (): renvoie les clés du dictionnaire sous forme de liste
dico.values () : renvoie les valeurs du dictionnaire sous forme de liste
dico.get (clé) : donne la valeur de la clé si elle existe, sinon une valeur par
défaut
…
Les structures de données ‘dict’
35. Formation
Présentation:
Les structures de contrôle itératives ou les boucles s’utilisent pour
répéter plusieurs fois l’exécution d’une partie du programme.
Python vous fournit 2 types de boucle :
la boucle for et la boucle while.
Syntaxe:
La séquence peut-être tout objet itérable : range, une liste, une chaîne …
élément prend successivement la valeur de chaque élément de la séquence.
Les structures de contrôle itérative
while condition :
bloc d'instructions indentés
#suite du programme
for élément in séquence :
bloc d'instructions indentés
# suite du programme
36. Formation
Activité 18 :
1. Afficher les caractères d’une chaine donnée.
(Caractère par ligne puis sur la même ligne séparés par des étoiles)
2. Générer une liste L2 contenant 10 chiffres aléatoires.
Les structures de contrôle itérative
>>> for c in s :
print (c, end=‘*‘)
>>> import random
>>> L2 = []
>>> for e in range (10) :
L2.append (random.randrange (10))
L1 = [random.randrange (10 ) for e in range (10) ]
37. Formation
Activité 19 :
1. Générer une liste L3 contenant N nombres aléatoires entre (20 et 40).
2. Générer une liste L4 contenant N lettres majuscules aléatoires.
3. Afficher la table de multiplication par un entier donné.
Les structures de contrôle itérative
>>> for e in range (10) :
L3.append (random.randrange (20, 40))
>>> for e in range (10) :
L4.append (chr (65+random.randint (0,25 )))
>>> n= int (input ("Donner un entier: "))
>>> for i in range (1,11) :
print (n, "*", i , "=", n*i)
38. Formation
Activité 20 :
Ecrire un script Python qui permet de saisir un
réel représentant une note d’un devoir.
Les structures de contrôle itérative
39. Formation
Activité 21 :
Ecrire un script Python qui permet de calculer
puis afficher le PGCD de deux nombres a et b.
Les structures de contrôle itérative
40. Formation
Activité 22 :
Ecrire un programme Python qui calcule puis affiche la racine carrée, s’il
existe, d’un réel donné.
Une structure conditionnelle permet à un programme de modifier
son traitement en fonction d’une condition.
Les structures de contrôle Conditionnelle
if condition :
Instruction1
Instruction2
…..
InstructionN
41. Formation
Activité 23 :
Ecrire un programme Python qui affiche à partir d’une âge donné, un
message indiquant si une personne est adulte ou jeune.
Les structures de contrôle Conditionnelle
if condition :
Instruction1
…..
InstructionN
else :
Instruction1
…..
InstructionN
42. Formation
Activité 24 :
Ecrire un programme Python qui affiche la nature d’un caractère donné.
Les structures de contrôle Conditionnelle
if condition1 :
traitement1
elif condition2 :
traitement2
…
elif conditionn-1 :
traitementn-1
else:
traitementn
43. Formation
Présentation :
Les fonctions sont analogues à des sous-programmes.
Une fonction est une suite d'instructions que l'on peut appeler avec
un nom.
En Python, une fonction peut retournée 0 ou plusieurs valeurs.
Syntaxe:
Les fonctions
def nom_fonction (paramètres):
bloc d'instructions indentés
return valeurs
# suite du programme
44. Formation
Activité 24 :
A l'aide de la fonction randint() du module random, écrire une fonction
qui retourne un mot de passe de longueur N (chiffres, lettres minuscules
ou majuscules).
On donne :
ch = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
Exemple d’appel:
Les fonctions