FormationPython2019

publicité
Formation
LE LANGAGE DE
PROGRAMMATION
RABAH Mohamed Ali
11-01-2019
Formation
Plan
Présentation et caractéristiques
Installation et environnement du travail
Les structures de données
& Les structures simples
Les structures de de contrôle
La modularité (Les fonctions)
Formation
Présentation et caractéristiques
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/
Formation
Présentation et caractéristiques
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.
Formation
Présentation et caractéristiques
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…
Formation
Présentation et caractéristiques
Où trouve-t-on Python ?
Formation
Installation et environnement du travail
Télécharger et installer la dernière version 3.7.2
https://www.python.org/downloads/
File  New File
Formation
Installation et environnement du travail
Autres éditeurs Python
Pyzo
Pycharm
Wing
Thonny
EduPython
…
Formation
Installation et environnement du travail
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"
>>> help ("modules")
3) Afficher la valeur de pi et calculer la racine carrée de 2.
4) Importation du module "math"
>>> import math
>>> from math import pi, sqrt, factorial
>>> from math import *
Formation
Installation et environnement du travail
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.
Formation
Installation et environnement du travail
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
Formation
Installation et environnement du travail
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:\Python37\Lib\site-packages
Formation
Les structures de données
Activité 3 : Notion de constante
Une constante est un objet dont l'état reste inchangé durant toute
l'exécution d'un programme.
>>> from math import *
 Afficher la constante Pi.
>>> pi
 Ajouter à Pi la valeur 5.
>>> pi=pi+5
 Réafficher la constante Pi.
 Que constater vous?
Python ne supporte pas le concept de constantes.
Chaque objet peut être modifier au cours du programme.
Formation
Les structures de données
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.
nom_variable = valeur
 Python est sensible à la casse ce qui signifie que les variables age, Age
ou AGE sont différentes.
Formation
Les structures de données
Activité 4 : Le Typage dynamique
 Déclarer une variable a ayant la valeur 5.
1) Afficher le type de la variable a.
>>> type (a)
>>> dir (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.
Formation
Les structures de données
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)
 ......
Formation
Les structures de données
‘int’
Activité 5 : Le type Entier
Soit a=16 et b=5 deux variables de type int, faire les calculs suivants :
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
Formation
Les structures de données
‘float’
Activité 6 : Le type Réel
Soit a=10.5 et b=3.25 deux variables de type float, faire les calculs suivants :
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
Formation
Les structures de données
‘str’
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]
Python a intégré
l’indexation négative
Le type "str" en python
est immutable
Découpage en sous chaines
a[2 :] , a[ : 3] , a[ : ] ,
a[i : j] donne la tranche de a de i à j-1
a[ 1 : -1] , a[ : : -1]
a[i : j:k] donne la tranche de a de i à j-1 avec un pas de k
Formation
Les structures de données
Activité 8 : tester les fonctions suivantes
‘str’
Formation
Les structures simples
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:
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
Formation
Les structures simples
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:
nom_variable= input (‘message’)
Message qui s’affiche avant la
saisie du contenu de la variable
Formation
Les structures simples
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.
La saisie d‘une donnée en Python est par défaut de type string.
>>> a= int (input ("Donner a : "))
En Python Le transtypage ou le casting se fait par la spécification
du type à aboutir en utilisant les fonctions int(), float(), str(), list ()
Formation
Les structures simples
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
v1, v2, v3,… = input (" message: ") . split ( "séparateur ")
Le séparateur peut être:
Espace, Point, virgule, …
Formation
Les structures simples
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.
La saisie de plusieurs données simultanément
dans une seule variable renvoie au type ‘list’.
Formation
Les structures de données
‘list’
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 :
Maliste= []
#déclartion d’une liste vide
Maliste= [v1, v2, v3,…] #initialiser une liste par des valeurs
Formation
Les structures de données
‘list’
Activité 12 : Le type ‘list’ Présentation
 Visualiser l’âge de la personne pr de l’Activité 11.
 Modifier l’âge de cette personne.
>>> pr [2]
>>> pr [2]=45
 Afficher la variable pr.
 Copier dans une nouvelle variable p2 la variable pr.
 Modifier l’âge de p2.
>>> p2 = pr
>>> p2 [2] =93
 Consulter l’âge de pr.
En Python une liste est modifiable.
La copie des variables de type "list" se fait par référence.
Formation
Les structures de données
‘list’
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.
>>> cl2 = cl1 [:]
>>> import copy
>>> cl2 = copy.deepcopy (cl1)
Formation
Les structures de données
‘list’
Activité 14 : Quelques traitements sur les listes-2
Tester les fonctions suivantes sur la liste L=[15, 20, 9, 20, 7, 14, 9, 9]
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
Formation
Les structures de données
‘list’
Activité 15 : Quelques traitements sur les listes-3
Tester les méthodes suivantes sur la liste k=[‘Un’, 10.25, 4, True, 4]
Formation
Les structures de données
‘list’
Activité 16 : Quelques traitements sur les listes-4
1. Générer une liste L1 contenant les 10 premiers chiffres.
La fonction range() génère une liste d’entiers compris dans un intervalle.
range( dep, fin ,pas)
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. >>> random.shuffle (L1)
4. Supprimer les doublons de la liste.
>>> L1= set (L1)
Formation
Les structures de données
‘tuple’
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.
>>> L2 = tuple (L1)
En Python le type tuple permet de créer des sortes de
listes non modifiables.
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.
Formation
Les structures de données
‘dict’
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.
Formation
Les structures de données
‘dict’
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
…
Formation
Les structures de contrôle
itérative
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:
for élément in séquence :
bloc d'instructions indentés
# suite du programme
while condition :
bloc d'instructions indentés
#suite du programme
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.
Formation
Les structures de contrôle
itérative
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)
>>> for c in s :
print (c, end=‘*‘)
2. Générer une liste L2 contenant 10 chiffres aléatoires.
>>> import random
>>> L2 = []
>>> for e in range (10) :
L2.append (random.randrange (10))
L1 = [random.randrange (10 ) for e in range (10) ]
Formation
Les structures de contrôle
itérative
Activité 19 :
1. Générer une liste L3 contenant N nombres aléatoires entre (20 et 40).
>>> for e in range (10) :
L3.append (random.randrange (20, 40))
2. Générer une liste L4 contenant N lettres majuscules aléatoires.
>>> for e in range (10) :
L4.append (chr (65+random.randint (0,25 )))
3. Afficher la table de multiplication par un entier donné.
>>> n= int (input ("Donner un entier: "))
>>> for i in range (1,11) :
print (n, "*", i , "=", n*i)
Formation
Les structures de contrôle
itérative
Activité 20 :
Ecrire un script Python qui permet de saisir un
réel représentant une note d’un devoir.
Formation
Les structures de contrôle
itérative
Activité 21 :
Ecrire un script Python qui permet de calculer
puis afficher le PGCD de deux nombres a et b.
Formation
Les structures de contrôle Conditionnelle
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.
if condition :
Instruction1
Instruction2
…..
InstructionN
Formation
Les structures de contrôle Conditionnelle
Activité 23 :
Ecrire un programme Python qui affiche à partir d’une âge donné, un
message indiquant si une personne est adulte ou jeune.
if condition :
Instruction1
…..
InstructionN
else :
Instruction1
…..
InstructionN
Formation
Les structures de contrôle Conditionnelle
Activité 24 :
Ecrire un programme Python qui affiche la nature d’un caractère donné.
if condition1 :
traitement1
elif condition2 :
traitement2
…
elif conditionn-1 :
traitementn-1
else:
traitementn
Formation
Les fonctions
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:
def nom_fonction (paramètres):
bloc d'instructions indentés
return valeurs
# suite du programme
Formation
Les fonctions
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:
Formation
Les fonctions
Activité 25 :
Ecrire une fonction retourne l’équivalent binaire et
hexadécimal d’un entier n.
Merci pour votre attention
Téléchargement