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