Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Faculté des sciences Université Moulay Ismail Algorithmique et programmation en Python Prof. Elyazid AKACHAR Faculté des sciences / Unversité Moulay Ismail filière: Physique (ES et ME) elyazid....

Faculté des sciences Université Moulay Ismail Algorithmique et programmation en Python Prof. Elyazid AKACHAR Faculté des sciences / Unversité Moulay Ismail filière: Physique (ES et ME) [email protected] October 10, 2024 E.AKACHAR ( FSM-UMI) 2024-2025 1 / 69 Chapitre I: Introduction à la programmation en Python Plan 1 Introduction 2 Les variables et les types de données 3 Les instructions conditionnelles E.AKACHAR ( FSM-UMI) 2024-2025 2 / 69 Introduction Généralités sur le traitement de l’information Les ordinateurs sont principalement utilisés pour deux fonctions essentielles 1 Le stockage des données 2 Le traitement des données Traitement Données Résultats Le traitement peut être : manuel ; semi-automatique ; automatique Chaque traitement est effectué par l’exécution d’une séquence d’opérations. E.AKACHAR ( FSM-UMI) 2024-2025 3 / 69 Introduction Généralités sur le traitement de l’information Tout traitement demandé à la machine par l’utilisateur est appelé un programme. Le schéma global d’une application informatique est toujours le même: Emission Réception Traitement =⇒ =⇒ d’informations d’informations d’informations déduites Exemple Réception Somme de ces n Emission de de n valeurs =⇒ valeur et division du =⇒ la moyenne numériques résultat par n arithmétique Données =⇒ Programme =⇒ Résultats Un programme est une suite d’opérations (instructions) permettant à une système informatique d’exécuter une tâche donnée. E.AKACHAR ( FSM-UMI) 2024-2025 4 / 69 Introduction c’est quoi un langage de programmation ? Définition 1 Un langage de programmation est un moyen de communication entre les humains et les machines. Il permet aux programmeurs de donner des in- structions précises à un ordinateur de manière structurée et compréhensible, afin que celui-ci puisse effectuer des tâches spécifiques. En d’autres termes, c’est une façon pour les humains de dire aux machines quoi faire, de manière à ce que les machines puissent comprendre et suivre ces instructions. L'utilisateur humain écrit et soumet des demandes structurées et comprehensibles L'ordinateur répond aux demandes de l'utilisateur humain. E.AKACHAR ( FSM-UMI) 2024-2025 5 / 69 Introduction c’est quoi un langage de programmation ? Définition 2 Langage de programmation : ensemble de règle de vocabulaire et de gram- maire compréhensible (directement ou indirectement) par un ordinateur. Avec un ordinateur, il n’y a pas de discussion, c’est un monologue. Nous sommes les chefs et nous donnons les ordres. Ces ordres s’appellent des instructions comme: Affiche un ≪A≫ à l’écran. Calculer la somme: 11+(-55) Affiche une zone où l’utilisateur pourra saisir son nom. Si l’utilisateur clique sur le bouton ≪fermer≫ alors le programme se ferme.... E.AKACHAR ( FSM-UMI) 2024-2025 6 / 69 Introduction c’est quoi un langage de programmation ? Instruction Une instruction est une commande que l’on donne à l’ordinateur pour qu’il effectue une action spécifique, comme calculer une valeur, afficher un message, ou répéter une série d’actions. C’est une des unités de base qui compose un programme. Si les instructions (les ordres) sont claires, l’ordinateur sait exactement ce qu’il doit faire. Une suite d’instructions est appelée code source. Code source = Suite d'instructions Affiche la valeur de a Affiche la valeur de b Rédige le code Calcule a+b Le développeur source Calcule a-b E.AKACHAR ( FSM-UMI) 2024-2025 7 / 69 Introduction c’est quoi un langage de programmation ? Si vous souhaitez communiquer avec quelqu’un, vous devez parler le même langage, sinon, il est difficile de se comprendre. Avec un ordinateur c’est exactement la même chose : pour qu’il vous comprenne vous devez lui parler son langage La difficulté c’est qu’un ordinateur ne comprend que des 1 et des 0. Affiche un « A » à l’écran. E.AKACHAR ( FSM-UMI) 2024-2025 8 / 69 Introduction c’est quoi un langage de programmation ? Pour communiquer avec un ordinateur, il faut utiliser un ≪ traduc- teur≫. Il existe de nombreux ≪ traducteur ≫ et chaque ≪traducteur≫ possède son propre langage. Donc, vous allez écrire non pas dans le langage de l’ordinateur mais dans le langage du ≪ traducteur ≫. Le traducteur, qui comprend ce que vous lui dite, convertira tout cela en 0 et 1 par- faitement compréhensible par l’ordinateur. Affiche un « A » à l’écran. 0110101100110 0101010011010 A Traducteur E.AKACHAR ( FSM-UMI) 2024-2025 9 / 69 Introduction c’est quoi un langage de programmation ? Selon le principe de traduction ou le mode de fonctionnement du traducteur, on distingue deux types de langages de programmation. Langages compilés: dans ces langages, le code source est d’abord traduit dans son ensemble par un outil appelé compilateur en un fichier binaire ou un code intermédiaire (comme le bytecode en Java). Ce fichier compilé est ensuite exécuté par la machine. Langages interprétés: dans ces langages, le code source est exécuté directe- ment par un outil appelé interpréteur. L’interpréteur lit le code ligne par ligne, le traduit en instructions machine, et exécute chaque ligne immédiatement. Langage Compilé Langage interprété Etape 1: Compilation Etape 2: Exécution Code source Code source Interpréteur Compilateur Fichier exécutable Processeur Fichier exécutable Processeur E.AKACHAR ( FSM-UMI) 2024-2025 10 / 69 Introduction c’est quoi un langage de programmation ? Langages interprétes Langages compilés Python C R C++ MATLAB C# Ruby Swift PHP Fortran JavaScript... ADA... Java, LISP Pour traduire un langage, il faut tenir compte de ses trois niveaux : Le niveau lexical, qui concerne le vocabulaire du langage, les règles d’écriture des mots du langage (identificateurs de variables ou fonctions), les mots clés, c’est-à-dire les éléments de structuration du discours, et les caractères spéciaux, utilisés par exemple pour les opérateurs. Le niveau syntaxique, qui spécifie la manière de construire des programmes dans ce langage, autrement dit les règles grammaticales propres au langage. Le niveau sémantique, qui spécifie la signification de la notation. E.AKACHAR ( FSM-UMI) 2024-2025 11 / 69 Introduction c’est quoi un langage de programmation ? Les 10 premiers langages de programmation les plus populaires dans le monde selon PYPL (PopularitY of Programming Language) E.AKACHAR ( FSM-UMI) 2024-2025 12 / 69 Introduction c’est quoi un langage de programmation ? Un peu d’historique sur le langage Python Python est un langage de programmation (au même titre que le C, C++, fortran, java...), développé en 1989 par Guido Van Rossum. La première version de Python a été publiée en 1991, lors du travail de Guido van Rossum au Centrum Wiskunde & Informatica (CWI) aux Pays-Bas. Le nom Python donné au langage provient d’une série anglaise appelée ≪Monty Python’s Flying Circus≫ E.AKACHAR ( FSM-UMI) 2024-2025 13 / 69 Introduction c’est quoi un langage de programmation ? Pourquoi le langage Python ? Présente un support pour Orienté objet Simple et très lisible l’intégration d’autres langages. Typage dynamique Grande portabilité: indépendant vis à vis du système d’exploitation Open-source: (linux, windows, MacOS) ; son utilisation est gratuite et les fichiers sources sont Applications variées : Python est utilisé disponibles et modifiables dans de nombreux domaines, allant Importante quantité de bibliothèques du développement web avec Django disponibles : pour le calcul scientifique, ou Flask à l'intelligence artificielle les statistiques, les bases de données, et l'apprentissage automatique avec la visualisation. TensorFlow et PyTorch E.AKACHAR ( FSM-UMI) 2024-2025 14 / 69 Introduction c’est quoi un langage de programmation ? Qu’est ce qu’il faut avoir pour coder en Python? L’interpréteur Python : C’est le programme qui exécute le code Python. Vous pouvez télécharger la dernière version de Python depuis le site officiel python.org. Lors de l’installation, assurez-vous d’ajouter Python au PATH, ce qui te permettra d’exécuter des commandes Python depuis n’importe quel terminal ou invite de commandes. Le code source doit être enregistré dans un fichier avec l’extension (.py). Pour produire un fichier avec l’extension.py, tu peux utiliser un éditeur de texte tel que: Notepad++, Sublime Text, Visual Studio Code (VS Code), PyCharm et Atom. Après la génération de votre fichier ”.py”, ouvrez votre terminal Windows et tapez la commande suivante : ”python chemin du fichier/nom fichier.py” Notepad++ Sublime Text Visual Studio Code PyCharm Atom E.AKACHAR ( FSM-UMI) 2024-2025 15 / 69 Introduction c’est quoi un langage de programmation ? Qu’est ce qu’il faut avoir pour coder en Python? L’environement Anaconda: Anaconda est une distribution gratuite de Python qui simplifie l’installation et la gestion des outils nécessaires pour la programmation. Il inclut un interpréteur Python et permet de configurer un environnement de développement complet. Pour un IDE Python, tu peux utiliser des outils comme Spyder ou Jupyter, qui offrent une interface avec éditeur de code intégré et d’autres fonctionnalités avancées. Télécharger Anaconda depuis le site officiel ”anaconda.com” et suis les instructions pour l’installer sur votre ordinateur. E.AKACHAR ( FSM-UMI) 2024-2025 16 / 69 Introduction c’est quoi un langage de programmation ? Qu’est ce qu’il faut avoir pour coder en Python? Après l’installation d’Anaconda, ouvrez ”Anaconda Navigator” puis sélection- nez l’un des outils ”Jupyter” ou ”Spyder” pour commencer à coder en Python. Vous pouvez aussi lancer l’un des outils mentionnés en tapant les com- mandes suivantes dans le terminal Anaconda : ”jupyter notebook” ou ”spyder”. E.AKACHAR ( FSM-UMI) 2024-2025 17 / 69 Introduction c’est quoi un langage de programmation ? Qu’est ce qu’il faut avoir pour coder en Python? Si vous travaillez sur plusieurs machines ou souhaitez éviter les étapes d’installation et de configuration. Vous pouvez également utiliser des plateformes en ligne comme: 1 Google Colab: Une plateforme basée sur Jupyter Notebook. 2 Replit: Un éditeur de code en ligne qui prend en charge plusieurs langages, y compris Python. 3 Kaggle Notebooks: Proposée par la plateforme Kaggle, cette option permet d’exécuter des notebooks Python. 4 Microsoft Azure Notebooks: Un service basé sur le cloud qui permet de créer, exécuter et partager des notebooks Jupyter en ligne. 5 JupyterHub: Une version en ligne de Jupyter Notebook, souvent utilisée par les universités et les entreprises pour fournir un accès multi-utilisateur à des environnements Python. Pour des problémes simple, vous pouvez également utiliser des applications mo- biles (Android ou iOS) comme: Pydroid 3 (Android), QPython (Android), Termux (Android), Pythonista (iOS) et Carnets (iOS). E.AKACHAR ( FSM-UMI) 2024-2025 18 / 69 Les variables et les types de données 1 Introduction 2 Les variables et les types de données 3 Les instructions conditionnelles E.AKACHAR ( FSM-UMI) 2024-2025 19 / 69 Les variables et les types de données L’ordinateur est une machine capable de recevoir des informations, de les mémoriser, de les traiter et de produire les résultats obtenus. Données Résultats (entrée) (sorties) Il peut reçoit des données de sources variées. Le processeur (CPU) effectue L'ordinateur stocke temporairement des calculs et opérations les données en RAM ou de façon logiques sur les données permanente sur des disques durs. pour produire des résultats. En programmation, chaque espace mémoire réservé pour le stockage d’une donnée est appelé une variable. E.AKACHAR ( FSM-UMI) 2024-2025 19 / 69 Les variables et les types de données Variable Définition En Python, les variables sont des espaces de stockage utilisés pour contenir des données qui peuvent être modifiées et manipulées au cours de l’exécution d’un programme. En terme simple, nous pouvons dire qu’une variable est un espace mémoire réservé pour stocker une valeur. Pour chaque espace, il y a un nom pour l’identifier Identifiant et pour y accéder et une valeur. Valeur Et bien entendu, selon la taille totale de la mémoire de notre système, Un espace ou un bloc mémoire nous avons plusieurs espaces..... E.AKACHAR ( FSM-UMI) 2024-2025 20 / 69 Les variables et les types de données Identifiant L’ identifiant est un nom utilisé pour caractériser (identifier) une vari- able. L’identifiant est une combinaison de chiffres et de traits de souligne- ment. L’identifiant doit commencer par un caractère ou un trait de souligne- ment puis utiliser un chiffre. Les caractères sont A-Z ou a-z, un trait de soulignement ( ) et un chiffre (0-9). On ne peut pas utiliser les caractères spéciaux ( #, @, $, %, ! ) dans les identifiants. On ne peut pas utiliser des Mots clés Python comme: and as assert async await break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raise return True try while with yield E.AKACHAR ( FSM-UMI) 2024-2025 21 / 69 Les variables et les types de données Identifiant Exemples d’identifiants valides Exemples d’identifiants invalides nom1 !nom1 nom1 1nom 1 nom 1 nom nom 1 nom#1 from from Les variables peuvent être de l’un des types suivants: Numérique Chaine de caractère (Alphanumérique) Booléen E.AKACHAR ( FSM-UMI) 2024-2025 22 / 69 Les variables et les types de données Les variable numériques Les variables numériques sont susceptibles de recevoir des nombres. Selon le type de ces nombres, il existe plusieurs types numériques, tels que : 1. Les entiers (int) : Les entiers, ou int, sont des nombres sans partie décimale. Ils peuvent être positifs, négatifs, ou zéro. En Python, il n’y a pas de limite de taille pour les entiers, ce qui signifie que vous pouvez travailler avec des nombres très grands. 2. Les nombres à virgule flottante (float) : Les nombres à virgule flottante, ou float, sont des nombres décimaux qui contiennent une partie fractionnaire. Ils sont souvent utilisés pour des mesures continues ou des calculs précis. 3. Les nombres complexes (complex): Les nombres complexes, ou complex, sont des nombres composés d’une partie réelle et d’une partie imaginaire. Ils sont représentés sous la forme ”a + bj”, où a est la partie réelle et b est la partie imaginaire, et j représente l’unité imaginaire. Variables de type int Variables de type float Variables de type complex E.AKACHAR ( FSM-UMI) 2024-2025 23 / 69 Les variables et les types de données Les variable numériques Opérations: Afféctation Pour remplir la case mémoire associée à une variable nommée par ex- emple ”var1” avec la valeur ”17”, on utilise le symbole ”=” suivi de la valeur à enregistrer: var1=17. Lorsque l’on assigne une valeur (quelle que soit la valeur) à une variable, on dit que nous avons affecté une valeur à cette variable. L’affectation est l’opération qui consiste à associer une valeur à une variable. Cela permet de stocker cette valeur en mémoire pour l’utiliser ultérieurement dans le programme. L’opérateur d’affectation le plus courant est le symbole ”=”. var1 var1 = 17 var2 var2 = -3.89 E.AKACHAR ( FSM-UMI) 2024-2025 24 / 69 Les variables et les types de données Les variable numériques Opérations: Afféctation Puisque Python repose sur un typage dynamique, il n’est pas nécessaire de déclarer le type de variable. Contrairement à certains autres langages comme C, où la déclaration du type des variables est obligatoire. En Python, le type d’une variable est déterminé automatiquement par l’interpré- teur au moment de l’exécution, en fonction de la valeur qui lui est assignée. x = 10 # x est automatiquement considéré comme un entier (int) x = 10.55 # x est automatiquement considéré comme un décimal (float) x = 5 + 2j # x est automatiquement considéré comme un complexe (complex) En Python, pour déterminer le type d’une variable, on utilise l’instruction suiv- ante : type(nom variable), où nom variable est l’identifiant de votre variable. x = 10 y = −4 + 3j z = −7.44 type(x) type(y) type(z) int complex float E.AKACHAR ( FSM-UMI) 2024-2025 25 / 69 Les variables et les types de données Les variable numériques Opérations: Afféctation Chaque variable ne peut avoir qu’une seule valeur à la fois. Si plusieurs affectations sont effectuées sur une variable, la machine ne garde que la valeur de la dernière affectation. Exemple : considérons les instructions Python ci-dessous. Quelle est la valeur des variables a et b après l’exécution de ces instructions ? a=2 b=5 a=7 Après l’exécution, la valeur de a est -111 et celle de b est 12. b=12 a=-111 E.AKACHAR ( FSM-UMI) 2024-2025 26 / 69 Les variables et les types de données Les variable numériques Opérations: Afféctation En Python, on peut faire des affectations multiples (Ex: x = y = 7). L’affectation multiple en Python permet d’assigner la même valeur à plusieurs variables en une seule instruction. Dans l’instruction a=b=2.1 ,la valeur de a est 2.1 et celle de b est également 2.1. Dans l’instruction x=y=z=t=-44 ,la valeur de toutes les variables (x, y, z, et t) est -44. En Python, on peut affecter la valeur d’une variable ”var1” à une autre variable ”var2” avec l’instruction var2=var1. Exemple : considérons les instructions Python ci-dessous. Quelle est la valeur des variables a, b et c après l’exécution de ces instructions ? a=b=5 c=10 Après l’exécution, la valeur de a a=c est 10, celle de b est 10 et celle c=b de c est 5. b=a E.AKACHAR ( FSM-UMI) 2024-2025 27 / 69 Les variables et les types de données Les variable numériques Opérations: Afféctation Afféctation parallèle (aussi appelée ”déballage” ou ”tuple unpack- ing”) permet d’affecter plusieurs valeurs à plusieurs variables simul- tanément en une seule ligne de code. Les valeurs sont affectées dans l’ordre aux variables correspondantes. a, b, c = 1, 2, 3 Ici, la valeur 1 est assignée à a, 2 est assignée à b, et 3 est assignée à c Attention: En Python, lorsqu’une affectation parallèle est effectuée dans la même instruction, les valeurs sont assignées simultanément. a, b, c = 10, 20, 30 b, c = 40, b Après l’exécution de la ligne 1, a vaut 10, b vaut 20, et c vaut 30. Pour la ligne 2, les affectations sont faites simultanément, c’est-à-dire que b reçoit 40, mais c reçoit la valeur de b avant la modification de b ( car b est encore 20 au moment de modification de c), donc la valeur de c est 20. E.AKACHAR ( FSM-UMI) 2024-2025 28 / 69 Les variables et les types de données Les variable numériques Nombre complexe En Python, les nombres complexes sont pris en charge nativement. Un nombre complexe se compose d’une partie réelle et d’une partie imaginaire, et il est écrit sous la forme a + bj, où a est la partie réelle et b est la partie imaginaire. Pour créer un nombre complexe, vous pouvez utiliser directement la nota- tion a + bj, ou bien la fonction complex(). z=3+4j ⇐⇒ z=complex(3,4) Pour accéder à la partie réelle ou imaginaire d’un nombre complexe Z, on utilise : Z.real ou Z.imag. Dans cet exemple, a reçoit la partie réelle 1.0, et Z=complex(1,-5) b reçoit la partie imaginaire -5.0 de Z. Notez que a=Z.real la partie réelle et imaginaire sont renvoyées sous b=Z.imag forme de nombres flottants (3.0 et -5.0). E.AKACHAR ( FSM-UMI) 2024-2025 29 / 69 Les variables et les types de données Les variable numériques Opérations: Affichage En Python, l’affichage de valeurs à l’écran se fait principalement avec la fonction print(): syntaxe: print(Identifiant variable) Pour afficher la valeur d’une variable var où, par exemple, var = 12, on utilise print(var). Pour afficher la valeur de plusieurs variables, on utilise toujours print() et on sépare les variables par des virgules. Par exemple: print(var1,var2,var3). Exemple: déterminez la sortie des instructions Python suivantes: a=b=12 Résultats d’exécution: x, y = b, 10 12 print(a) 12 12 print(a, x) 12 10 12 print(b, y, x) E.AKACHAR ( FSM-UMI) 2024-2025 30 / 69 Les variables et les types de données Les variable numériques Opérations: Affichage On peut également inclure des phrases dans la fonction print() pour ajouter des informations contextuelles sur les variables dans nos scripts Python. Les informations contextuelles dans la fonction print() peuvent être incluses avant ou après la variable à afficher en les entourant de guillemets doubles (” ”). Il est important de séparer ces informations et les variables par une virgule. Syntaxe: print(”informations textuelles”, Identifiant variable) Si une variable est entourée de guillemets doubles (” ”), elle est considérée comme une chaı̂ne de caractères, donc son nom sera affiché tel quel, sans interpréter sa valeur. Cela signifie qu’elle sera traitée comme du texte plutôt que comme une variable contenant une donnée. a,b = 10,20 Resultats d’exécution: print(”La valeur de a est : ”, a) La valeur de a est : 10 print(”La valeur de b est : ”, b) La valeur de b est : 20 print(”a= ”, a ,”et b=”, b) a= 10 et b= 20 print(”La valeur de a est : , a”) La valeur de a est : , a print(”La valeur de b est :”, ”b”) La valeur de b est : , b E.AKACHAR ( FSM-UMI) 2024-2025 31 / 69 Les variables et les types de données Les variable numériques Opérations: Affichage En Python, la fonction print() a deux paramètres optionnels très utiles : sep et end. Voici comment ils fonctionnent: sep (séparateur): Définit le caractère qui sépare plusieurs éléments passés à print() ou à afficher. Par défaut, c’est un espace. a,b,c=10,20,30 Résultats d’exécution: print(a,b,c) 10 20 30 print(a,b,c, sep=” | ”) 10 | 20 | 30 print(a,b,c, sep=” − − − ”) 10 − − − 20 − − − 30 end (fin) : Définit le caractère qui termine la ligne imprimée. Par défaut, c’est un saut de ligne. a,b,c=10,20,30 print(a,b,c) Résultats d’exécution: print(a,b,c, end=” *** ”) 10 20 30 print(a,b,c) 10 20 30 *** 10 20 30 print(a,b,c, sep=”|”, end=”***”) 10 | 20 | 30 *** 10−−20−−30 print(a,b,c, sep=”−−”) E.AKACHAR ( FSM-UMI) 2024-2025 32 / 69 Les variables et les types de données Les variable numériques Exercice 1 Écrivez un programme Python qui affiche une série de nombres sur plusieurs lignes en utilisant la fonction print(). Utilisez les paramètres sep et end pour personnaliser la sortie. Consignes : 1. Assignez les nombres 1, 2, 3, 4, 5 à des variables de votre choix, puis affichez ces nombres sur une première ligne, séparés par un tiret (-). 2. Affectez les nombres 10, 20, 30 à des variables de votre choix, puis affichez-les sur une deuxième ligne, séparés par un espace, et terminez cette ligne par trois points (...) au lieu d’un saut de ligne. 3. Affectez les nombres 100, 200, 300 à des variables de votre choix, puis affichez-les sur une troisième ligne, séparés par un point-virgule et un espace (; ). E.AKACHAR ( FSM-UMI) 2024-2025 33 / 69 Les variables et les types de données Les variable numériques Correction E.AKACHAR ( FSM-UMI) 2024-2025 34 / 69 Les variables et les types de données Les variable numériques Opérations: Affichage avec f-string Une f-string (ou formatted string) est une fonctionnalité de Python introduite dans la version 3.6 qui permet d’inclure directement des expressions ou des variables à l’intérieur d’une chaı̂ne de caractères en utilisant des accolades {}. Le préfixe f placé avant les guillemets de la chaı̂ne indique à Python qu’il doit interpréter le contenu entre accolades et remplacer ces expressions par leur valeur correspondante. syntaxe print(f¨informations textuelles {Identifiant variable}¨) a,b=10,20 print(f” la valeur de a est: {a} et celle de b est: {b}”) print(”la valeur de a est:”,a,”et celle de b est:”,b) Résultats d’exécution: la valeur de a est: 10 et celle de b est: 20 la valeur de a est: 10 et celle de b est: 20 E.AKACHAR ( FSM-UMI) 2024-2025 35 / 69 Les variables et les types de données Les variable numériques Opérations: Affichage avec.format() La méthode.format() en Python permet d’insérer des variables ou des valeurs dans une chaı̂ne de caractères de manière flexible. Dans une Descrip- tion textuelle (chaı̂ne de caractères), on place des accolades {} à l’endroit où l’on souhaite insérer une valeur. Ensuite, on utilise la méthode.format() pour ajouter ces valeurs. syntaxe print(”Text avec des espaces réservés {}”.format(val1, val2,...)) a,b=10,20 print(”la valeur de a est: {} et celle de b est: {}”.format(a,b)) print(”la valeur de a est: {0} et celle de b est: {1}”.format(a,b)) print(”la valeur de a est:”,a,”et celle de b est:”,b) Résultats d’exécution: la valeur de a est: 10 et celle de b est: 20 la valeur de a est: 10 et celle de b est: 20 la valeur de a est: 10 et celle de b est: 20 E.AKACHAR ( FSM-UMI) 2024-2025 36 / 69 Les variables et les types de données Les variable numériques Exercice 2 Écrivez un programme Python qui affiche une série de nombres sur plusieurs lignes en utilisant la fonction print() avec f-string et.format(). Consignes : 1. Assignez les nombres 1, 2, 3, 4, 5 à des variables de votre choix, puis affichez ces nombres sur une première ligne. 2. Affectez les nombres 10, 20, 30 à des variables de votre choix, puis affichez-les sur une deuxième ligne. E.AKACHAR ( FSM-UMI) 2024-2025 37 / 69 Les variables et les types de données Les variable numériques Correction E.AKACHAR ( FSM-UMI) 2024-2025 38 / 69 Les variables et les types de données Les variable numériques Opérations: Arithmétique En Python, les opérateurs arithmétiques sont utilisés pour effectuer des calculs mathématiques sur des nombres. Les opérations de base incluent l’addition, la soustraction, la multiplication, la division, la division entière, le modulo et l’exponentiation. Symbole Python Opération Exemple Python Résultat + Addition 5+3 8 - Soustraction 5-3 2 * Multiplication 5*3 15 / Division 5/2 2.5 // Division entière 5 // 2 2 % Modulo (reste) 5%2 1 ** Exponentiation 2 ** 3 8 E.AKACHAR ( FSM-UMI) 2024-2025 39 / 69 Les variables et les types de données Les variable numériques Opérations: Arithmétique a, b = 11, 3 somme = a + b difference = a - b produit = a * b division = a / b divEn = a // b puissance = a ** b modulo = a % b print(f”La somme de {a} et {b} est égale à : {somme}”) print(f”La différence entre {a} et {b} est égale à : {difference}”) print(f”Le produit de {a} et {b} est égal à : {produit}”) print(f”La division de {a} par {b} est égale à : {division:.4f}”) print(f”La division entière de {a} par {b} est égale à : {divEn}”) print(f”{a} à la puissance {b} est égale à : {puissance}”) print(f”{a} modulo {b} est égal à : {modulo}”) E.AKACHAR ( FSM-UMI) 2024-2025 40 / 69 Les variables et les types de données Les variable numériques Opérations: Arithmétique Résultats d’exécution: La somme de 11 et 3 est égale à : 14 La différence entre 11 et 3 est égale à : 8 Le produit de 11 et 3 est égal à : 33 La division de 11 par 3 est égale à : 3.6667 La division entière de 11 par 3 est égale à : 3 11 à la puissance 3 est égale à : 1331 11 modulo 3 est égal à : 2 Exercice 3 : Écrivez un programme Python qui calcule et affiche L’aire et Le périmètre d’un rectangle a partir de sa longueur et largeur. (Formules: Aire = longueur × largeur || Périmètre = 2 × (longueur + largeur)) E.AKACHAR ( FSM-UMI) 2024-2025 41 / 69 Les variables et les types de données Les variable numériques Opérations: Arithmétique Correction E.AKACHAR ( FSM-UMI) 2024-2025 42 / 69 Les variables et les types de données Les variable numériques Opérations: Incrémentation et décrémentation En Python, l’incrémentation (ou décrémentation) d’une variable consiste à modifier sa valeur en appliquant une opération mathématique sur elle-même. Par exemple, la nouvelle valeur de la variable x est égale à sa ancienne valeur plus 1, et on ecrit: x=x+1 On peut aussi modifier la valeur d’une variable x en multipliant, en soustrayant ou en divisant son ancienne valeur par un nombre (ou une valeur) a. x=x-a x=x*a x=x/a x=x//a x=x**a x=x+a ⇐⇒ x+=a x=x-a ⇐⇒ x-=a x=x*a ⇐⇒ x*=a x=x/a ⇐⇒ x/=a x=x//a ⇐⇒ x//=a x=x**a ⇐⇒ x**=a E.AKACHAR ( FSM-UMI) 2024-2025 43 / 69 Les variables et les types de données Les variable numériques Opérations: Incrémentation Exemple : déterminer la valeur de a et b après l’exécution des instructions suivantes : a=1 b=4 a=a+3 b=b*2 Après l’exécution, a vaut 2.0 et b vaut 16.0. b=b-a a/=b a+=a b**=a E.AKACHAR ( FSM-UMI) 2024-2025 44 / 69 Les variables et les types de données Les variable numériques Opérations: Bibliothèque math Pour des opérations mathématiques plus avancées, Python propose le mod- ule math, qui fournit des fonctions utiles comme les racines carrées, le calcul de logarithmes, ou la gestion des constantes mathématiques comme π. Avant d’utiliser les instructions ci-dessous, il faut ajouter l’instruction suivante au début du code source: import math. Fonction Description Exemple Résultat math.sqrt(x) Renvoie la racine carrée math.sqrt(16) 4.0 de x. math.pow(x,y) Élève x à la puissance y. math.pow(2,3) 8.0 math.log(x) Renvoie le logarithme math.log(10) 2.302585... naturel de x. math.log10(x) Renvoie le logarithme math.log10(100) 2.0 en base 10 de x. math.sin(x) Renvoie le sinus de x math.sin(math.pi/2) 1.0 (en radians). math.cos(x) Renvoie le cosinus de x math.cos(0) 1.0 (en radians). E.AKACHAR ( FSM-UMI) 2024-2025 45 / 69 Les variables et les types de données Les variable numériques Opérations: Bibliothèque math math.tan(x) Renvoie la tangente de math.tan(math.pi/4) 1.0 x (en radians). math.pi Constante π. math.pi 3.14159... math.e Constante e. math.e 2.71828... math.factorial(x) Renvoie la factorielle math.factorial(5) 120 de x. math.radians(x) Convertit des degrés math.radians(180) 3.14159... en radians. math.degrees(x) Convertit des radians math.degrees(math.pi) 180.0 en degrés. E.AKACHAR ( FSM-UMI) 2024-2025 46 / 69 Les variables et les types de données Les variable numériques Opérations: Bibliothèque math import math a = 25 b=math.pi racine = math.sqrt(a) sin = math.sin(b / 2) puissance = math.pow(b, racine) print(f”La racine carrée de {a} est égale à {racine}”) print(f”Sin(pi/2) = {sin}”) print(f”pi à la puissance {racine} est égale à {puissance}”) Résultats d’exécution: La racine carrée de 25 est égale à 5.0 Sin(pi/2) = 1.0 pi à la puissance 5.0 est égale à 306.0196847852814 E.AKACHAR ( FSM-UMI) 2024-2025 47 / 69 Les variables et les types de données Les variable numériques Opérations: Bibliothèque random La bibliothèque random en Python est utilisée pour générer des nombres aléatoires et pour effectuer diverses opérations aléatoires. Avant d’utiliser les fonctions de la bibliothèque random, il faut ajouter l’instruction import random au début du code source. Fonction Description Exemple de code Résultat random.random() Génère un flottant random.random() 0.7231... entre 0.0 et 1.0 random.randint(a, Génère un entier en- random.randint(1, 7 b) tre a et b 10) random.uniform(a, Génère un flottant random.uniform(1.5, 3.9 b) entre a et b 5) random.choice(seq) Sélectionne un random.choice([1,2, 2 élément dans une 3]) séquence random.sample(seq, Sélectionne k random. [5, 1, 8] k) éléments dans une sample(range(10), séquence 3) E.AKACHAR ( FSM-UMI) 2024-2025 48 / 69 Les variables et les types de données Les variable numériques Opérations: Bibliothèque random import random a = random.random() b = random.randint(1,5) c = random.uniform(3.5,9.0) print(f”a = {a:.2f} ”) print(f”b = {b:.2f}”) print(f”c = {c:.2f}”) Résultats d’exécution: a = 0.95 b=4 c = 7.74 E.AKACHAR ( FSM-UMI) 2024-2025 49 / 69 Les variables et les types de données Les chaı̂nes de caractères Les chaı̂nes de caractères En Python, une variable de type chaı̂ne de caractères (ou string (str)) est une variable qui stocke une séquence de caractères, comme des lettres, des chiffres, des espaces ou des symboles. Ces chaı̂nes sont entourées de guillemets simples (’ ’) ou doubles (” ”). chaine=’python’ chaine=”python” En Python, l’affichage d’une chaı̂ne de caractères se fait avec les différents formats de la fonction print(). Prenom=”XXX” Nom=’YYY’ print(Prenom) # Affiche XXX print(Nom) # Affiche YYY print(Prenom,Nom) # Affiche XXX YYY print(f”Mon prenom est {Prenom} et mon nom est: {Nom}”) print(f”Mon prenom est: {} et mon nom est: {}”.format(Prenom,Nom)) E.AKACHAR ( FSM-UMI) 2024-2025 50 / 69 Les variables et les types de données Les chaı̂nes de caractères Exercice 4 Ecrire un programme python qui déclare les variables prénom, nom, âge, et ville d’un personne. Ensuite, affiche ces informations avec une phrase structurée ( par exemple : Bonjour XXX YYY, vous avez 30 ans et vous habitez à Meknès). Correction E.AKACHAR ( FSM-UMI) 2024-2025 51 / 69 Les variables et les types de données Les chaı̂nes de caractères Opérations sur les chaines de caractères Concaténation (+): en python on peut combiner (concaténer) les chaı̂nes de caractères avec l’opérateur +. Répétition (*): L’opérateur * permet de répéter une chaı̂ne plusieurs fois. Indexation (chaine[index]): on peut accéder à un caractère spécifique en util- isant son index. L’indexation commence par 0. Slicing (chaine[start:end]): Le slicing permet d’extraire une sous-chaı̂ne en spécifiant les indices de début et de fin (l’indice de fin est exclu). Longueur (len(chaine)): La fonction len() permet de calculer le nombre de caractères dans une chaı̂ne. ch1=”Bonjour” ch2=”Python”*2 ch3=ch1+ch2 print(ch2) # Affiche: PythonPython print(ch3) # Affiche: BonjourPythonPython print(len(ch1),len(ch2),len(ch3)) # Affiche: BonjourPython 7 12 19 print(ch3) # Affiche: u print(ch3[3:7]) # Affiche: jour E.AKACHAR ( FSM-UMI) 2024-2025 52 / 69 Les variables et les types de données Les chaı̂nes de caractères Opérations sur les chaines de caractères ch=”Python” Fonction Description Exemple Résultat len() Renvoie la longueur de la len(ch) 6 chaı̂ne lower() Convertit la chaı̂ne en minus- ch.lower() ”python” cules upper() Convertit la chaı̂ne en majus- ch.upper() ”PYTHON” cules capitalize() Met la première lettre en ma- ch.capitalize() ”Python” juscule strip() Supprime les espaces au début ch.strip() ”Python” et à la fin replace() Remplace une sous-chaı̂ne par ch.replace("y", ”Pithon” une autre "i") split() Divise la chaı̂ne en une liste ch.split("y") [’P’, ’thon’] selon un séparateur find() Renvoie l’index de la première ch.find("th") 2 occurrence E.AKACHAR ( FSM-UMI) 2024-2025 53 / 69 Les variables et les types de données Les chaı̂nes de caractères Opérations sur les chaines de caractères index() Comme find(), mais renvoie une ch.index("th") 2 erreur si non trouvée startswith() Vérifie si la chaı̂ne commence par ch. True une sous-chaı̂ne startswith("Py") endswith() Vérifie si la chaı̂ne se termine par ch. True une sous-chaı̂ne endswith("on") count() Compte le nombre d’occurrences ch.count("o") 1 d’une sous-chaı̂ne isalpha() Vérifie si la chaı̂ne ne contient que ch.isalpha() True des lettres isdigit() Vérifie si la chaı̂ne ne contient que "12345". True des chiffres isdigit() islower() Vérifie si tous les caractères sont en ch.islower() False minuscules isupper() Vérifie si tous les caractères sont en ch.isupper() False majuscules title() Met en majuscule la première lettre ch.title() ”Python” de chaque mot swapcase() Inverse les majuscules et minuscules ch.swapcase() ”pYTHON” E.AKACHAR ( FSM-UMI) 2024-2025 54 / 69 Les variables et les types de données Les chaı̂nes de caractères Opérations sur les chaines de caractères Nom=”programmation” Prenom=”PYTHON” a=len(Nom) b=len(Prenom) Nom Maj=Nom.upper() Prenom Min=Prenom.lower() print(f”Le nombre total de caractères dans le Nom est {a}”) print(f”Le nombre total de caractères dans le prenom est {b}”) print(f”Le Nom en majuscules : {Nom Maj}”) print(f”Le prenom en minuscules : {Prenom Min}”) Résultats d’exécution: Le nombre total de caractères dans le Nom est 13 Le nombre total de caractères dans le prenom est 6 Le Nom en majuscules : PROGRAMMATION Le prenom en minuscules : python E.AKACHAR ( FSM-UMI) 2024-2025 55 / 69 Les variables et les types de données Les chaı̂nes de caractères Les chaı̂nes de caractères multi-lignes En Python, les guillemets simples (’ ’) ou doubles (” ”) sont utilisés pour définir une chaı̂ne de caractères sur une seule ligne. Les guillemets simples (’ ’) et doubles (” ”) ne supportent pas directement les chaı̂nes multi-lignes. Si vous essayez d’écrire une chaı̂ne sur plusieurs lignes en utilisant uniquement des guillemets simples ou doubles, vous ob- tiendrez une erreur de syntaxe. En Python, pour créer une chaı̂ne de caractères sur plusieurs lignes, on utilise les triples guillemets simples (”’ ”’) ou doubles (””” ”””). Cela permet d’inclure des retours à la ligne et d’écrire du texte directement sur plusieurs lignes. message=””” bonjour Résultat d’exécution: langage bonjour python””” langage print(message) python E.AKACHAR ( FSM-UMI) 2024-2025 56 / 69 Les variables et les types de données Les chaı̂nes de caractères Les commentaires en Python En Python, les commentaires sont utilisés pour ajouter des notes ou des explica- tions dans le code. Ils sont ignorés lors de l’exécution du programme. Il existe deux types de commentaires : les commentaires sur une seule ligne et les commentaires multi-lignes. Pour créer un commentaire sur une seule ligne, on utilise le symbole #. Tout ce qui est écrit après # sur une seule ligne est considéré comme un commentaire et ignoré par l’interpréteur. Python ne dispose pas d’un véritable mécanisme pour les commentaires multi- lignes, mais on peut utiliser plusieurs symboles # ou des chaı̂nes de caractères multi-lignes avec des triples guillemets (”’ ou ”””). Bien que ces chaı̂nes ne soient pas techniquement des commentaires, elles sont souvent utilisées pour documenter le code. # Ceci est un commentaire, il n’est pas traité par l’interpréteur. ””” Ceci est également un commentaire sur plusieurs lignes. Il n’est pas traité par l’interpréteur. ””” E.AKACHAR ( FSM-UMI) 2024-2025 57 / 69 Les variables et les types de données Les variables booléens Variable de type Booléen En Python, une variable booléenne (ou booléen) est un type de variable qui ne peut avoir que deux valeurs : True (vrai) ou False (faux). Ces valeurs sont utilisées pour représenter des situations où quelque chose est vrai ou faux, souvent dans des conditions de logique. a = True # a est un booléen qui vaut True b = False # b est un booléen qui vaut False print(a) # Affiche: True type(a) # Affiche: bool Notez que les mots clés True et False doivent avoir la première lettre en majuscule. L’utilisation de true ou false en minuscule renvoie une erreur. Effectuer des comparaisons: Les booléens sont souvent le résultat d’ ex- pressions de comparaison (par exemple, vérifier si un nombre est plus grand qu’un autre). E.AKACHAR ( FSM-UMI) 2024-2025 58 / 69 Les variables et les types de données Les variables booléens Comparaison Les opérateurs de comparaison en Python permettent de comparer deux valeurs. Ils renvoient un résultat booléen : True (vrai) ou False (faux). Opérateur Description Exemple Résultat == Vérifie si deux valeurs sont égales. 5 == 5 True != Vérifie si deux valeurs sont différentes. 5 != 3 True > Vérifie si la valeur de gauche est 5>3 True supérieure à celle de droite. < Vérifie si la valeur de gauche est 5= Vérifie si la valeur de gauche est 5 >= 5 True supérieure ou égale à celle de droite. 7 2**3==8 and -(-(5)) >= 0 not (4**5==4*5) and 102 9.9) or 7.200 != 7.2) Sortie de chaque ligne: True True False False E.AKACHAR ( FSM-UMI) 2024-2025 62 / 69 Les variables et les types de données Conversion de type Conversion de type (ou casting) En Python, la conversion de type (ou casting) permet de convertir une variable d’un type à un autre. La conversion en entier avec la fonction int() en Python permet de trans- former un autre type de donnée (comme un flottant, une chaı̂ne de car- actères ou un booléen) en un entier. int() convertit un flottant en entier en supprimant la partie décimale. int() convertit une chaı̂ne de caractères numériques( entier: ”33”) en entier. int() convertit True en 1 et False en 0. Remarque: Si la chaı̂ne de caractères contient des caractères non numériques, une erreur sera levée. c,d=True, False b=”55” a=12.2 T=int(c) T=int(b) T=int(a) Y=int(d) print(T) print(T) print(T,Y) # Affiche 55 # Affiche 12 # Affiche: 1 0 E.AKACHAR ( FSM-UMI) 2024-2025 63 / 69 Les variables et les types de données Conversion de type Conversion de type (ou casting) La conversion en flottant avec la fonction float() en Python permet de transformer d’autres types de données en nombre à virgule flottante (flottant). float() convertit une chaı̂ne numérique en flottant. float() convertit un entier en flottant en ajoutant une partie décimale (.0). float() convertit True en 1.0 et False en 0.0. Remarque: Si la chaı̂ne contient des caractères non numériques (sauf le point décimal), une erreur sera levée. Remarque: Si vous avez une chaı̂ne de caractères qui contient un point décimal, comme ”12.44”, pour la convertir en entier, vous devez d’abord la convertir en flottant, puis en entier. c,d=True, False b=”55.3” a=12 T=float(c) T=float(b) T=float(a) Y=float(d) print(T) print(T) print(T,Y) # Affiche 55.3 # Affiche 12.0 # Affiche: 1.0 0.0 E.AKACHAR ( FSM-UMI) 2024-2025 64 / 69 Les variables et les types de données Conversion de type Conversion de type (ou casting) La conversion en chaı̂ne de caractères (ou string) en Python se fait à l’aide de la fonction str(). Cela permet de transformer d’autres types de données, comme des nombres et des booléens en chaı̂nes de caractères. str() convertit n’importe quel type de donnée en une chaı̂ne de caractères. c,d=True, False b=55.3 T=str(c) T=str(b) Y=str(d) print(T) print(T,Y) print(type(T)) print(type(T),type(Y)) # Affiche 55.3 # Affiche: True False # Affiche: # Affiche: E.AKACHAR ( FSM-UMI) 2024-2025 65 / 69 Les variables et les types de données Conversion de type Conversion de type (ou casting) Déterminer la sortie des instructions Python suivantes : a=101 b=”12.2” X=b+str(a) Résultats d’exécution: Y=b*2 12.2101 Z=a+float(b) 12.212.2 T=int(float(b))+a 113.2 print(X) 113 print(Y) print(Z) print(T) E.AKACHAR ( FSM-UMI) 2024-2025 66 / 69 Les variables et les types de données La fonction de saisie des varaibles La fonction input() En Python, la fonction de saisie s’appelle input(). C’est une fonction intégrée qui permet à l’utilisateur de saisir des données via le clavier pendant l’exécution d’un programme. syntaxe: variable = input(”Votre message ici”) Elle affiche un message à l’utilisateur (entre guillemets) et attend que celui-ci entre une valeur. Cette valeur est ensuite stockée dans une variable pour être utilisée plus tard dans le programme. Important : Par défaut, la valeur saisie par l’utilisateur est toujours de type str (chaı̂ne de caractères). Pour saisir des entiers ou des décimaux, il faut convertir le type après la saisie en utilisant int() ou float() autour de la fonction input(). var1 = int(input(”Donnez un entier SVP:”)) var2 = float(input(”Donnez un décimale SVP:”)) E.AKACHAR ( FSM-UMI) 2024-2025 67 / 69 Les variables et les types de données La fonction de saisie des varaibles Exercice 5 Écrire un programme Python qui demande à l’utilisateur de saisir son nom, prénom et âge, puis affiche ces informations sous forme d’une phrase struc- turée (comme : ”Bonjour, je m’appelle [Nom] [Prénom] et j’ai [Âge] ans.”). Correction E.AKACHAR ( FSM-UMI) 2024-2025 68 / 69 Les variables et les types de données La fonction de saisie des varaibles Exercice 6 Écrire un programme qui permet de saisir et d’afficher la longueur, la hau- teur, et la base d’un triangle, puis de calculer et d’afficher la surface de ce triangle. Correction E.AKACHAR ( FSM-UMI) 2024-2025 69 / 69 Les instructions conditionnelles 1 Introduction 2 Les variables et les types de données 3 Les instructions conditionnelles E.AKACHAR ( FSM-UMI) 2024-2025 69 / 69

Use Quizgecko on...
Browser
Browser