ANNEE UNIVERSITAIRE 2022/202
3
1
ENASTIC
•Licence 1 ITM
•12 h
• Chargée du cours :Mme Widad A.HISSEINE
• Email :awidadhisseine@gmail.com
Python
2
Plan
1. Présentation de Python
2. Utilités
3. Environnement de développement
4. Syntaxe du langage
5. Les opérateurs
6. Les structures conditionnelles
7. Les chaînes de caractères
8. Les listes
9. Les fonctions et procédures
3
1. Présentation de Python
 Développé en 1989 par Guido van Rossum(, aux Pays-Bas);
 La première version publique de ce langage a été publiée en 1991;
 Open-source: Python est gratuit, on peut l’utiliser sans restriction dans
des projets commerciaux;
 Portable: Python fonctionne sous différentes variantes d’Unix, Windows,
Mac OS, BeOs, NextStep, et par le biais de différentes implémentations;
 Dynamique: dans la plupart des implémentations, le code source n’est pas
compilé contrairement à des langages comme C ou Pascal, mais exécuté à
la volée. On parle alors de langage interprété;
 Extensible :on peut facilement l’interfacer avec des bibliothèques C
existantes;
 Il est relativement simple à prendre en main ;
4
1. Présentation de Python
 Python est désormais enseigné dans de nombreuses formations, depuis
l’enseignement secondaire jusqu’à l’enseignement supérieur;
 Support pour l'intégration d'autres langages: Un programme écrit en
Python s’intègre très facilement avec d’autres composants logiciels;
 Du code de qualité :Grâce à sa syntaxe claire, cohérente et concise,
Python permet aux développeurs de produire du code de qualité, lisible et
maintenable;
 Orienté objet :Même si elle n’est pas imposée, Python permet la
programmation orientée objet. Tous les mécanismes objet essentiels sont
implémentés et toutes les données manipulées sont des instances de
classes.
5
1. Présentation de Python
 Hautement productif
La conception d’applications en Python est très rapide car certains aspects
de programmation sont gérés automatiquement, comme la gestion des
ressources mémoire et le typage des données.
Python – why settle for snake oil when you can have the whole
snake ?
« Python – Pourquoi se contenter d’huile de serpent quand
on peut avoir le serpent tout entier ? »
Mark Jackson
6
1. Présentation de Python
 Vous pouvez installer gratuitement Python sur votre machine,
que ce soit sous Windows, Mac OS X ou Linux. (TP)
 Ce cours est basé sur la version 3 de Python, qui est
désormais le standard.
7
2. Utilités
Les différents domaines dans lesquels Python est le plus utilisé :
 L’administration système ;
 Le prototypage rapide d’applications ;
 La recherche et le calcul scientifique ;
 Les applications de gestion ;
 Les applications web;
 Des bibliothèques comme Django ou Flask;
 Des jeux, notamment grâce à PyGame.
Cette liste n’est certainement pas exhaustive mais représente les domaines
les plus fréquemment cités.
8
3. Environnement de développement
Installation sous Linux
Python est souvent préinstallé sur la plupart des distributions GNU/Linux. Vous pouvez
contrôler sa présence en tapant la commande python dans un terminal.
Lancement du mode interactif de Python
• Si la commande fonctionne, vous serez automatiquement placé dans un mode
interactif qui permet de lancer directement des commandes dans l’interpréteur
Python.
9
3. Environnement de développement
Installation sous MS-Windows
Les plates-formes MS-Windows bénéficient d’un installeur graphique
automatique, présenté sous la forme d’un Wizard
(un assistant).
10
3. Environnement de développement
• Une fois l’installation achevée, une nouvelle entrée Python 2.6 apparaît
dans le menu
Démarrer>Programmes, contenant entre autres l’interface IDLE.
L’exécution de ce menu doit faire apparaître un prompt Python.
11
3. Environnement de développement
• Python présente la particularité de pouvoir être utilisé de plusieurs
manières différentes:
 On va d’abord l’utiliser en ligne de commande c’est-à-dire en saisissant et
en exécutant les instructions les unes à la suite des autres. Ceci se fait via
un interpréteur de commandes).
 Puis avec un éditeur Python c’est-à-dire saisir toutes les instructions d’un
programme dans un fichier et d’exécuter ce programme.
• Il est conseillé de tester les deux environnements.
12
3. Environnement de développement
 Introduction au shell
• Un shell est un interpréteur de commandes interactif permettant
d’interagir avec l’ordinateur. On utilisera le shell pour lancer
l’interpréteur Python
• Un shell possède toujours une invite de commande, c’est-à-dire un
message qui s’affiche avant l’endroit où on entre des commandes
13
3. Environnement de développement
 Premier contact avec Python
o Chaque ligne de code est lue puis interprétée afin d’être
exécutée par l’ordinateur. Pour vous en rendre compte, ouvrez
un shell puis lancez la commande : python
o La commande précédente va lancer l’interpréteur Python.
Vous devriez obtenir quelque chose de ce style pour Windows
:
14
3. Environnement de développement
 Premier contact avec Python
o Le triple chevron >>> est l’invite de commande (prompt en
anglais) de l’interpréteur Python. Ici, Python attend une
commande que vous devez saisir au clavier.
15
4.Syntaxe du langage
 La syntaxe du langage Python est simple, concise et efficace.
 l’instruction print ;
 les commentaires ;
 le modèle de données ;
 les littéraux ;
 les types standards ;
16
4.Syntaxe du langage
• l’instruction print ;
Nous allons concevoir un tout premier programme qui affiche «
Hello World ! ».
EX:
Tapez par exemple l’instruction :
print("Hello world!")
puis validez cette commande en appuyant sur la touche Entrée.
En résumé, voici ce qui a dû apparaître sur votre écran :
17
4.Syntaxe du langage
o l’instruction print ;
o Le mode interactif de Python fournit une invite de commande
ou prompt, symbolisé par le préfixe >>>, qui interprète les
commandes saisies et rend immédiatement la
main, en affichant s’il y a lieu, un résultat ou une erreur.
Cette interactivité permet de tester de petites séquences de
code.
18
4.Syntaxe du langage
o l’instruction print :
19
4.Syntaxe du langage
L’instruction print
La commande print évalue une expression et affiche le résultat. Ce qui est vrai
pour des phrases est aussi vrai pour des valeurs numériques, des calculs
ou tout autre élément interprétable, car l’instruction convertit
automatiquement le résultat de l’expression en une chaîne de caractères
affichable, lorsque c’est possible.
Exemple:1. Définir deux variables prenant les valeurs 3 et 6.
2. Calculer leur somme et leur produit.
Calculer la surface d’un rectangle.
20
4.Syntaxe du langage
• L’instruction print
• Correction
21
4.Syntaxe du langage
Il s’agit cependant là d’une fonctionnalité secondaire de l’interpréteur, qui est
destinée à vous faciliter la vie lorsque vous faites de simples exercices à la
ligne de commande. À l’intérieur d’un programme, vous utiliserez
toujours l’instruction print:
Afficher la valeur d’une variable
22
4.Syntaxe du langage
• L’instruction print
• Exercice
1. Ecrire un programme qui permet de saisir un nombre puis
déterminer s’il appartient à un intervalle donné, sachant que
les extrémités de l’intervalle sont fixées par l’utilisateur.
2. Ecrire un programme qui demande deux nombres à
l’utilisateur et l’informe ensuite si leur produit est négatif ou
positif. Attention toutefois on ne doit pas calculer le produit
des deux nombres.
23
4.Syntaxe du langage
• L’instruction print
• correction
• a = int(input("saisir a : "))
• b = int(input("saisir b : "))
• if a > 0 and b > 0 or a < 0 and b < 0:
• print("le produit est positif")
• else:
• print("le produit est négatif")
24
4.Syntaxe du langage
Les commentaires
En Python, les commentaires sont préfixés par le caractère dièse (#), et
peuvent être placés en fin de ligne ou prendre une ligne complète.
Exemple:
L’interpréteur syntaxique ignore ces commentaires et considère que le
caractère dièse marque la fin d’une ligne logique, sauf lorsqu’elle est liée à
la ligne suivante par le caractère antislash ().
25
4.Syntaxe du langage
 Interaction avec l’utilisateur : la fonction input()
 Nécessité à un moment ou un autre une intervention de
l’utilisateur ;
 la méthode la plus simple consiste à employer la fonction
intégrée input();
 input() provoque une interruption dans le programme
courant. L’utilisateur est invité à entrer des caractères au
clavier et à terminer avec <Enter>.
26
4.Syntaxe du langage
 Interaction avec l’utilisateur : la fonction input()
 Lorsque cette touche est enfoncée, l’exécution
du programme se poursuit, et la fonction fournit en retour une
valeur correspondant à ce que l’utilisateur a entré.
 Cette valeur peut alors être assignée à une variable quelconque.
On peut invoquer la fonction input() en laissant les parenthèses
vides.
 On peut aussi y placer en argument un message explicatif destiné
à l’utilisateur.
27
4.Syntaxe du langage
 Interaction avec l’utilisateur : la fonction input()
Exemple :
28
4.Syntaxe du langage
 Interaction avec l’utilisateur : la fonction input()
Exemple :
29
4.Syntaxe du langage
 Interaction avec l’utilisateur : la fonction input()
Remarque importante •
La fonction input() renvoie toujours une chaîne de caractères.
Si vous souhaitez que l’utilisateur entre une valeur numérique, vous devrez
donc convertir la valeur entrée (en une valeur numérique du type qui vous
convient, par l’intermédiaire des fonctions intégrées int() (si vous attendez
un entier) ou float() (si vous attendez un réel).
Exemple :
30
4.Syntaxe du langage
• Variables
• Sous Python, les noms de variables doivent en outre obéir à quelques
règles simples :
 Un nom de variable est une séquence de lettres (a →z , A →Z) et de
chiffres (0 →9), qui doit toujours commencer par une lettre.
 Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les
cédilles, les espaces, les caractères spéciaux tels que $, #, @, etc. sont
interdits, à l’exception du caractère _ (souligné).
 •La casse est significative (les caractères majuscules et minuscules sont
distingués).
 Attention : Joseph, joseph, JOSEPH sont donc des variables différentes.
Soyez attentifs !
31
4.Syntaxe du langage
• Variables
Le type d’une variable correspond à la nature de celle-ci.
Les trois principaux types dont nous aurons besoin dans un
premier temps sont les entiers (integer ou int), les nombres
décimaux que nous appellerons floats et les chaînes de
caractères (string ou str).
Bien sûr, il existe de nombreux autres types (par exemple, les
booléens, les nombres complexes, etc.).
32
4.Syntaxe du langage
• Typage des variables
Sous Python, il n’est pas nécessaire d’écrire des lignes de programme
spécifiques pour définir le type des variables avant de pouvoir les utiliser.
Il vous suffit en effet d ’assigner une valeur à un nom de variable pour que
celle-ci soit automatiquement créée avec le type qui correspond au mieux
à la valeur fournie.
Python doit savoir de quel type est la variable pour pouvoir
lire correctement sa valeur.
• Str= String = Chaine de caractères
• Int= Integer = Nombre entier
• Float= Float = Nombre à virgule
33
4.Syntaxe du langage
• Typage des variables
 Entiers
On utilise des variables de type int pour représenter des entiers. Il est
nécessaire de le préciser en particulier lors d’une saisie. Par exemple, on saisit
un int dans la variables x avec l’instruction suivante :
x = int ( input ( ) )
 Flottants
Les flottants servent à représenter les réels. Leur nom vient du fait qu’on les
représente de façon scientifique : un nombre décimal (à virgule) muni d’un
exposant (un décalage de la virgule). Le type servant à les représenter est
float.
x = float ( input ( ) )
34
4.Syntaxe du langage
• Typage des variables
 Chaînes de caractères
Une chaîne de caractères, abrégé str, est une succession de caractères
(aucun, un ou plusieurs). Les littéraux de ce type se délimitent par des quotes
(doubles ou simples), et l’instruction de saisie s’écrit sans le <type>. Par
exemple,
maChaine = input ( )
 Booléens
Une variable booléenne ne peut prendre que deux valeurs : vrai et faux. Le
type booléen en Python est bool et une variable de ce type peut prendre soit
la valeur True, soit la valeur False.
35
4.Syntaxe du langage
• Typage des variables
La méthode type permet de récupérer le type de la variable tel que Python le
voit.
Exemple:
36
4.Syntaxe du langage
• Typage des variables
La méthode type permet de récupérer le type de la variable tel que Python le
voit.
Exemple:
37
5.Les opérateurs
Les opérateurs permettent de manipuler les variables en mémoire pour
obtenir des résultats.
• Affectation (ou assignation)
En Python comme dans de nombreux autres langages, l’opération
d’affectation est représentée par le signe égale.
38
5.Les opérateurs
• Affectations multiples
Sous Python, on peut assigner une valeur à plusieurs variables
simultanément.
Exemple :
39
5.Les opérateurs
40
5.Les opérateurs
• >>> 13 // 3 # Le quotient 4
• >>> 13 % 3 # Le reste 1
41
5.Les opérateurs
42
Priorité des opérations
Lorsqu’il y a plus d’un opérateur dans une expression, l’ordre dans
lequel les opérations doivent être effectuées dépend de règles de
priorité.
Sous Python, les règles de priorité sont les mêmes que celles qui
vous ont été enseignées au cours de mathématique.
Vous pouvez les mémoriser aisément à l’aide d’un « truc »
mnémotechnique, l’acronyme PEMDAS :
5.Les opérateurs
43
1. • P pour parenthèses.
Ce sont elles qui ont la plus haute priorité. Elles vous permettent
donc de « forcer » l’évaluation d’une expression dans l’ordre que
vous voulez. Ainsi 2*(3-1) = 4 , et (1+1)**(5-2) = 8.
• E pour exposants. Les exposants sont évalués ensuite, avant les
autres opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et
non 59049 !).
5.Les opérateurs
44
• M et D pour multiplication et division, qui ont la même priorité.
Elles sont évaluées avant l’addition A et la soustraction S, lesquelles
sont donc effectuées en dernier lieu.
Ainsi 2*3-1 = 5 (plutôt que 4), et 2/3-1 = -0.3333... (plutôt que 1.0).
• Si deux opérateurs ont la même priorité, l’évaluation est effectuée de
gauche à droite.
Ainsi dans l’expression 59*100//60, la multiplication est effectuée en
premier, et la machine doit donc ensuite effectuer 5900//60, ce qui
donne 98.
Si la division était effectuée en premier, le résultat serait 59 (rappelez-
vous ici que l’opérateur // effectue une division entière, et vérifiez en
effectuant 59*(100//60)).
5.Les opérateurs
45
5.Les opérateurs
Exercice
Essayez de prédire le résultat de chacune des instructions suivantes, puis
vérifiez-le dans l’interpréteur Python :
46
5.Les opérateurs
• Indentation générale
47
5.Les opérateurs
• Indentation générale
On appelle indentation le fait de décaler une ou plusieurs lignes de code à
l’aide d’espaces, généralement 4 comme recommandé par Python, ou
d’une tabulation (touche ||Tab|| à gauche de la touche ||A||).
Cette indentation est requise pour le bon fonctionnement de la condition.
48
5.Les opérateurs
• Indentation générale
En Python, l’indentation des lignes fait partie intégrante de la structure des
programmes.
Là où les langages C et Java utilisent des accolades pour définir des blocs,
Python se base sur le retrait d’une ligne pour définir son niveau.
L’interpréteur remplace toutes les tabulations rencontrées entre le
début de la ligne et le premier caractère interprétable par un certain
nombre d’espaces puis comptabilise le nombre d’espaces obtenus.
Ce nombre définit un niveau d’indentation.
Si le retrait augmente à la ligne suivante, le niveau est incrémenté et la
taille de retrait y est associée. Lorsque le retrait diminue, le niveau est
décrémenté en conséquence .
49
6.Les structures conditionnelles
• L’instruction if
L’instruction if (« si ») est associée à une expression terminée par le
caractère :.
Chaque élément de l’expression est évalué tour à tour. Si l’expression
évaluée renvoie False, l’interpréteur n’exécute pas le contenu de la
structure. Dans le cas où l’évaluation de l’expression renvoi True, le bloc
est exécuté.
Il est possible de définir un deuxième bloc délimité par l’instruction else («
sinon »), exécuté lorsque l’expression renvoie False.
50
6. Les structures conditionnelles
• L’instruction if
Enfin, l’instruction elif, forme contractée de else if pour « sinon, si »
permet d’imbriquer une série de structures de type if : chaque condition
est testée, et en cas de résultat négatif, l’instruction suivante est à son
tour évaluée. Ce principe permet de mettre en place des structures
équivalentes au switch en C et au case en Pascal .
51
6. Les structures conditionnelles
• if, else, et else if( elif)
Exemple :
age = int(input("Quel est votre âge? ")) # Souvenez-vous, il faut convertir en
un entier
if age > 16 :
print("Vous avez plus de 16 ans ")
Par exemple,
i = int ( input ( "Saisissez une valeur" ) )
i f ( i == 0) :
print ( "Vous avez saisi une valeur nulle." )
print ( "Au revoir !" )
52
6. Les structures conditionnelles
• if, else, et else if( elif)
• Exemple:
53
6. Les structures conditionnelles
 if, else, et else if( elif)
• Exemple:
• i = int ( input ( "Saisissez une valeur" ) )
• i f ( i == 0) :
print ( "Vous avez saisi une valeur nulle." )
• else :
print ( "La valeur que vous avez saisi n’est pas nulle »).
• Notez la présence de l’opérateur de comparaison ==. Si vous utilisez =
pour comparer deux valeurs, ça ne compilera pas !
54
6. Les structures conditionnelles
if, else, et else if( elif)
Exemple :
#!/usr/bin/python
# -*- coding: utf-8 -*-
temperature = int (input( "Donnez la Temp") )
if temperature < 0 :
print ("il gèle")
elif temperature >=0 and temperature <100 :
print ("l’eau est liquide")
else :
print ("l’eau est à l’état gazeux")
55
6. Les structures conditionnelles
• L’instruction print
• Exercice
• a = int(input("saisir [a :"))
• b = int(input("saisir b]:"))
• val = int(input("saisir une valeur :"))
• if a <= val <= b:
• print(val, "appartient a l'intervalle [", a, ", ", b, "]")
• else:
• print(val, "n'appartient pas a l'intervalle [", a, ", ", b, "]")
56
6. Les structures conditionnelles
if, else, et else if( elif)
Exemple :
#!/usr/bin/python
# -*- coding: utf-8 -*-
temperature = int (input( "Donnez la Temp") )
if temperature < 0 :
print ("il gèle")
elif temperature >=0 and temperature <100 :
print ("l’eau est liquide")
else :
print ("l’eau est à l’état gazeux")
57
6. Les structures conditionnelles
Instructions imbriquées
Il est parfaitement possible d’imbriquer les unes dans les autres plusieurs
instructions composées, de manière à réaliser des structures de décision
complexes.
Exemple :
58
6. Les structures conditionnelles
– l’instruction while
L’une des tâches que les machines font le mieux est la répétition sans erreur
de tâches identiques.
Il existe bien des méthodes pour programmer ces tâches répétitives.
59
6. Les structures conditionnelles
– l’instruction while
comment cela fonctionne :
• Avec l’instruction while, Python commence par évaluer la validité de la
condition fournie entre parenthèses
• Si la condition se révèle fausse, alors tout le bloc qui suit est ignoré et
l’exécution du programme se termine
. • Si la condition est vraie, alors Python exécute tout le bloc d’instructions
constituant le corps de la boucle.
60
6. Les structures conditionnelles
– l’instruction while
Remarque:
Une boucle while nécessite trois éléments pour fonctionner correctement :
1. l’initialisation de la variable de test avant la boucle ;
2. le test de la variable associé à l’instruction while ;
3. l’incrémentation de la variable de test dans le corps de la boucle.
Faites bien attention aux tests et à l’incrémentation que vous utilisez car une
erreur mène souvent à des boucles infinies qui ne s’arrètent pas.
Vous pouvez néanmoins toujours stopper l’exécution d’un script Python à
l’aide de la combinaison de touches Ctrl-C.
61
6. Les structures conditionnelles
– l’instruction while
Remarque(suite )
• La variable évaluée dans la condition doit exister au préalable (il faut qu’on
lui ait déjà affecté au moins une valeur).
• Si la condition est fausse au départ, le corps de la boucle n’est jamais
exécuté.
62
6. Les structures conditionnelles
NB: la fonction print() permet d’afficher plusieurs expressions l’une à la suite
de l’autre sur la même ligne : il suffit de les séparer par des virgules
Exercices :
 obtenir la liste des carrés et des cubes des nombres de 1 à 12
 Écrire un programme qui affiche les 20 premiers termes de la table de
multiplication par 7.
63
6. Les structures conditionnelles
La Boucle for
o Permet de répéter une ou plusieurs instructions un nombre fini de
fois connu à l'avance.
o Elle permet de réaliser la répétition d’une ou plusieurs instructions
selon le principe suivant :
Syntaxe en Python
for variable in range(n) :
instruction(s)
La variable indiquée prend alors automatiquement toutes les valeurs
entières de 0 à n - 1.
64
6. Les structures conditionnelles
La Boucle for
Exemples:
 for i in range (N) :
print ( ”J ’ ai tout compris ! ” )
 for i in range ( 10 ) :
print (2 i )
∗
S = 0
for i in range ( 1 0 ) :
S = S+i
print ( S )
65
6. Les structures conditionnelles
La Boucle for
De façon générale, la boucle for est souvent utilisée pour parcourir tout objet
itérable comme une chaine de caractères ou une liste :
Exemple:
phrase = ”J ’ aime les papates crues ”
for lettre in phrase :
print ( lettre , end=’ , ’ )
66
6. Les structures conditionnelles
La Boucle for
Autre Syntaxe : Utilisation de range()
for compteur in range(Bor_inf, Bor_sup, Pas):
traitement
# Retour à la ligne sans indentation
N.B.:
 bor_inf: représente la borne inférieure du compteur ,c'est le point de 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 mentionner
cette valeur
• Pas: représente la valeur d’avancement du compteur ,par défaut le pas=1
67
6. Les structures conditionnelles
La Boucle for
• Exemples:
68
6. Les structures conditionnelles
 Instructions break et continue
Ces deux instructions permettent de modifier le comportement d’une boucle
(for ou while) avec un test. L’instruction break stoppe la boucle.
69
7. Les chaînes de caractères
• Un texte est une suite finie de caractères : lettres capitales ou
minuscules, chiffres, ponctuations, espaces, symboles
mathématiques, etc.
• ▶ En programmation, un texte est une chaîne (de
caractères) : anglais string
• Exemple:
• texte = 'Cette phrase est fausse'
70
7. Les chaînes de caractères
• Un chaîne peut être définie avec des guillemets simples ' ou
double «
• >>> 'Coucou' == "Coucou ’’
• ▶ Une chaîne est une suite de caractères
• ▶ La longueur (length) d’une chaîne est le nombre de
caractères.
▶ Les caractères sont indexés de 0 à
len(texte)-1.
71
7. Les chaînes de caractères
• Extraction d’une sous-chaîne
Python permet d’extraire une tranche (slice) d’une
chaîne de caractères, repérée par ses positions
extrêmes.
texte[a:b]: signifie la sous-chaîne d’indice i [a,b−1]
∈
72
7. Les chaînes de caractères
• Extraction d’une sous-chaîne
• Utilisation de for
73
8. Les listes
• Une liste est une structure de données qui contient une série de
valeurs. Python autorise la construction de liste contenant des
valeurs de types différents (par exemple entier et chaîne de
caractères), ce qui leur confère une grande flexibilité.
• Une liste est déclarée par une série de valeurs (n'oubliez pas les
guillemets, simples ou doubles, s'il s'agit de chaînes de caractères)
séparées par des virgules, et le tout encadré par des crochets.
74
8. Les listes
• Exemples
75
8. Les listes
• Utilisation
Un des gros avantages d'une liste est que vous pouvez appeler ses
éléments par leur position. Ce numéro est appelé indice (ou index) de
la liste.
76
8. Les listes
• Utilisation
NB: les indices d'une liste de n éléments commencent à 0 et se
terminent à n-1.
Exemple :
Par conséquent, si on appelle l'élément d'indice 4 de notre liste,
Python renverra un message d'erreur :
77
8. Les listes
• Opération sur les listes
Tout comme les chaînes de caractères, les listes supportent
l'opérateur de concaténation, ainsi que l'opérateur +pour la
duplication* :
78
8. Les listes
• Opération sur les listes
• Possibilité de sélectionner une partie d'une liste en utilisant un
indiçage construit sur le modèle [m:n+1] pour récupérer tous les
éléments, du émième au énième (de l'élément m inclus à l'élément
n+1 exclu).
• On dit alors qu'on récupère une tranche de la liste, par exemple :
79
8. Les listes
• Fonction len()
• L'instruction len() vous permet de connaître la longueur d'une liste,
c'est-à-dire le nombre d'éléments que contient la liste.
Exemple :
80
8. Les listes
• Les fonctions range() et list()
L'instruction range() est une fonction spéciale en Python qui génère
des nombres entiers compris dans un intervalle. Lorsqu'elle est utilisée
en combinaison avec la fonction list(), on obtient une liste d'entiers.
Par exemple :
81
8. Les listes
• L'instruction range() fonctionne sur le modèle range([début,] fin[,
pas]). Les arguments entre crochets sont optionnels. Pour obtenir
une liste de nombres entiers, il faut l'utiliser systématiquement avec
la fonction list().
82
8. Les listes
• Minimum, maximum et somme d'une liste
Les fonctions min(), max() et sum() renvoient respectivement le
minimum, le maximum et la somme d'une liste passée en argument.
83
8. Les listes
• La commande liste[ ] permet d’accéder facilement à un élément d’une liste grâce à
son indice.
• La commande del() permet de supprimer un élément d’une liste grâce à l’indice de
cet élément.
• La commande remove() permet de supprimer un élément repéré par sa valeur
dans une liste. Elle supprime le premier élément de la liste ayant cette valeur.
84
8. Les listes
• list.append()
Exemple:
li = [1, 2, 3, 4, 5]
print li
li .append(6)
print li
Utilité : comme son nom l’indique en anglais, cette fonction sert à
ajouter à la liste "list" un élément "element" à la fin de cette dernière.
Syntaxe générale : list .append(element)
85
9. Les fonctions et procédures
Définition d’une fonction - def
Syntaxe
La syntaxe Python pour la définition d’une fonction est la suivante ::
Corps de la fonction
Comme les instructions if for et while, l’instruction def est une instruction
composée. La ligne contenant cette instruction se termine obligatoirement
par un deux-points :, qui introduisent un bloc d’instructions qui est
précisé grâce à l’indentation.
Ce bloc d’instructions constitue le corps de la fonction.
86
9. Les fonctions et procédures
Exemples
87
9. Les fonctions et procédures
Définition
Il est possible de définir des « fonctions » qui ne fournissent aucun résultat !
On appelle cela des procédures.
Pour écrire une procédure, il suffit de ne jamais utiliser return dans la
programmation.
Par exemple, on peut se contenter d’écrire à l’écran le résultat du calcul, sans le
fournir pour autant comme résultat « déclaré ».
88
9. Les fonctions et procédures
• Fonction sans paramètre
89
9. Les fonctions et procédures
• Fonction avec paramètre
90
9. Les fonctions et procédures
• « Vraies » fonctions et procédures
• Pour les puristes, les fonctions que nous avons décrites jusqu’à
présent ne sont pas tout à fait des fonctions au sens strict, mais plus
exactement des procédures.
• Une « vraie » fonction (au sens strict) doit en effet renvoyer une
valeur lorsqu’elle se termine. Une « vraie » fonction peut s’utiliser à
la droite du signe égale dans des expressions telles que y = sin(a).
On comprend aisément que dans cette expression, la fonction sin()
renvoie une valeur (le sinus de l’argument) qui est directement
affectée à la variable y.
• Voici un exemple extrêmement simple:
91
9. Les fonctions et procédures
• « Vraies » fonctions et procédures

python ITM1 cours 1.pptx python ITM1 cours 1.pptx python ITM1 cours 1.pptx

  • 1.
    ANNEE UNIVERSITAIRE 2022/202 3 1 ENASTIC •Licence1 ITM •12 h • Chargée du cours :Mme Widad A.HISSEINE • Email :awidadhisseine@gmail.com Python
  • 2.
    2 Plan 1. Présentation dePython 2. Utilités 3. Environnement de développement 4. Syntaxe du langage 5. Les opérateurs 6. Les structures conditionnelles 7. Les chaînes de caractères 8. Les listes 9. Les fonctions et procédures
  • 3.
    3 1. Présentation dePython  Développé en 1989 par Guido van Rossum(, aux Pays-Bas);  La première version publique de ce langage a été publiée en 1991;  Open-source: Python est gratuit, on peut l’utiliser sans restriction dans des projets commerciaux;  Portable: Python fonctionne sous différentes variantes d’Unix, Windows, Mac OS, BeOs, NextStep, et par le biais de différentes implémentations;  Dynamique: dans la plupart des implémentations, le code source n’est pas compilé contrairement à des langages comme C ou Pascal, mais exécuté à la volée. On parle alors de langage interprété;  Extensible :on peut facilement l’interfacer avec des bibliothèques C existantes;  Il est relativement simple à prendre en main ;
  • 4.
    4 1. Présentation dePython  Python est désormais enseigné dans de nombreuses formations, depuis l’enseignement secondaire jusqu’à l’enseignement supérieur;  Support pour l'intégration d'autres langages: Un programme écrit en Python s’intègre très facilement avec d’autres composants logiciels;  Du code de qualité :Grâce à sa syntaxe claire, cohérente et concise, Python permet aux développeurs de produire du code de qualité, lisible et maintenable;  Orienté objet :Même si elle n’est pas imposée, Python permet la programmation orientée objet. Tous les mécanismes objet essentiels sont implémentés et toutes les données manipulées sont des instances de classes.
  • 5.
    5 1. Présentation dePython  Hautement productif La conception d’applications en Python est très rapide car certains aspects de programmation sont gérés automatiquement, comme la gestion des ressources mémoire et le typage des données. Python – why settle for snake oil when you can have the whole snake ? « Python – Pourquoi se contenter d’huile de serpent quand on peut avoir le serpent tout entier ? » Mark Jackson
  • 6.
    6 1. Présentation dePython  Vous pouvez installer gratuitement Python sur votre machine, que ce soit sous Windows, Mac OS X ou Linux. (TP)  Ce cours est basé sur la version 3 de Python, qui est désormais le standard.
  • 7.
    7 2. Utilités Les différentsdomaines dans lesquels Python est le plus utilisé :  L’administration système ;  Le prototypage rapide d’applications ;  La recherche et le calcul scientifique ;  Les applications de gestion ;  Les applications web;  Des bibliothèques comme Django ou Flask;  Des jeux, notamment grâce à PyGame. Cette liste n’est certainement pas exhaustive mais représente les domaines les plus fréquemment cités.
  • 8.
    8 3. Environnement dedéveloppement Installation sous Linux Python est souvent préinstallé sur la plupart des distributions GNU/Linux. Vous pouvez contrôler sa présence en tapant la commande python dans un terminal. Lancement du mode interactif de Python • Si la commande fonctionne, vous serez automatiquement placé dans un mode interactif qui permet de lancer directement des commandes dans l’interpréteur Python.
  • 9.
    9 3. Environnement dedéveloppement Installation sous MS-Windows Les plates-formes MS-Windows bénéficient d’un installeur graphique automatique, présenté sous la forme d’un Wizard (un assistant).
  • 10.
    10 3. Environnement dedéveloppement • Une fois l’installation achevée, une nouvelle entrée Python 2.6 apparaît dans le menu Démarrer>Programmes, contenant entre autres l’interface IDLE. L’exécution de ce menu doit faire apparaître un prompt Python.
  • 11.
    11 3. Environnement dedéveloppement • Python présente la particularité de pouvoir être utilisé de plusieurs manières différentes:  On va d’abord l’utiliser en ligne de commande c’est-à-dire en saisissant et en exécutant les instructions les unes à la suite des autres. Ceci se fait via un interpréteur de commandes).  Puis avec un éditeur Python c’est-à-dire saisir toutes les instructions d’un programme dans un fichier et d’exécuter ce programme. • Il est conseillé de tester les deux environnements.
  • 12.
    12 3. Environnement dedéveloppement  Introduction au shell • Un shell est un interpréteur de commandes interactif permettant d’interagir avec l’ordinateur. On utilisera le shell pour lancer l’interpréteur Python • Un shell possède toujours une invite de commande, c’est-à-dire un message qui s’affiche avant l’endroit où on entre des commandes
  • 13.
    13 3. Environnement dedéveloppement  Premier contact avec Python o Chaque ligne de code est lue puis interprétée afin d’être exécutée par l’ordinateur. Pour vous en rendre compte, ouvrez un shell puis lancez la commande : python o La commande précédente va lancer l’interpréteur Python. Vous devriez obtenir quelque chose de ce style pour Windows :
  • 14.
    14 3. Environnement dedéveloppement  Premier contact avec Python o Le triple chevron >>> est l’invite de commande (prompt en anglais) de l’interpréteur Python. Ici, Python attend une commande que vous devez saisir au clavier.
  • 15.
    15 4.Syntaxe du langage La syntaxe du langage Python est simple, concise et efficace.  l’instruction print ;  les commentaires ;  le modèle de données ;  les littéraux ;  les types standards ;
  • 16.
    16 4.Syntaxe du langage •l’instruction print ; Nous allons concevoir un tout premier programme qui affiche « Hello World ! ». EX: Tapez par exemple l’instruction : print("Hello world!") puis validez cette commande en appuyant sur la touche Entrée. En résumé, voici ce qui a dû apparaître sur votre écran :
  • 17.
    17 4.Syntaxe du langage ol’instruction print ; o Le mode interactif de Python fournit une invite de commande ou prompt, symbolisé par le préfixe >>>, qui interprète les commandes saisies et rend immédiatement la main, en affichant s’il y a lieu, un résultat ou une erreur. Cette interactivité permet de tester de petites séquences de code.
  • 18.
    18 4.Syntaxe du langage ol’instruction print :
  • 19.
    19 4.Syntaxe du langage L’instructionprint La commande print évalue une expression et affiche le résultat. Ce qui est vrai pour des phrases est aussi vrai pour des valeurs numériques, des calculs ou tout autre élément interprétable, car l’instruction convertit automatiquement le résultat de l’expression en une chaîne de caractères affichable, lorsque c’est possible. Exemple:1. Définir deux variables prenant les valeurs 3 et 6. 2. Calculer leur somme et leur produit. Calculer la surface d’un rectangle.
  • 20.
    20 4.Syntaxe du langage •L’instruction print • Correction
  • 21.
    21 4.Syntaxe du langage Ils’agit cependant là d’une fonctionnalité secondaire de l’interpréteur, qui est destinée à vous faciliter la vie lorsque vous faites de simples exercices à la ligne de commande. À l’intérieur d’un programme, vous utiliserez toujours l’instruction print: Afficher la valeur d’une variable
  • 22.
    22 4.Syntaxe du langage •L’instruction print • Exercice 1. Ecrire un programme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur. 2. Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif. Attention toutefois on ne doit pas calculer le produit des deux nombres.
  • 23.
    23 4.Syntaxe du langage •L’instruction print • correction • a = int(input("saisir a : ")) • b = int(input("saisir b : ")) • if a > 0 and b > 0 or a < 0 and b < 0: • print("le produit est positif") • else: • print("le produit est négatif")
  • 24.
    24 4.Syntaxe du langage Lescommentaires En Python, les commentaires sont préfixés par le caractère dièse (#), et peuvent être placés en fin de ligne ou prendre une ligne complète. Exemple: L’interpréteur syntaxique ignore ces commentaires et considère que le caractère dièse marque la fin d’une ligne logique, sauf lorsqu’elle est liée à la ligne suivante par le caractère antislash ().
  • 25.
    25 4.Syntaxe du langage Interaction avec l’utilisateur : la fonction input()  Nécessité à un moment ou un autre une intervention de l’utilisateur ;  la méthode la plus simple consiste à employer la fonction intégrée input();  input() provoque une interruption dans le programme courant. L’utilisateur est invité à entrer des caractères au clavier et à terminer avec <Enter>.
  • 26.
    26 4.Syntaxe du langage Interaction avec l’utilisateur : la fonction input()  Lorsque cette touche est enfoncée, l’exécution du programme se poursuit, et la fonction fournit en retour une valeur correspondant à ce que l’utilisateur a entré.  Cette valeur peut alors être assignée à une variable quelconque. On peut invoquer la fonction input() en laissant les parenthèses vides.  On peut aussi y placer en argument un message explicatif destiné à l’utilisateur.
  • 27.
    27 4.Syntaxe du langage Interaction avec l’utilisateur : la fonction input() Exemple :
  • 28.
    28 4.Syntaxe du langage Interaction avec l’utilisateur : la fonction input() Exemple :
  • 29.
    29 4.Syntaxe du langage Interaction avec l’utilisateur : la fonction input() Remarque importante • La fonction input() renvoie toujours une chaîne de caractères. Si vous souhaitez que l’utilisateur entre une valeur numérique, vous devrez donc convertir la valeur entrée (en une valeur numérique du type qui vous convient, par l’intermédiaire des fonctions intégrées int() (si vous attendez un entier) ou float() (si vous attendez un réel). Exemple :
  • 30.
    30 4.Syntaxe du langage •Variables • Sous Python, les noms de variables doivent en outre obéir à quelques règles simples :  Un nom de variable est une séquence de lettres (a →z , A →Z) et de chiffres (0 →9), qui doit toujours commencer par une lettre.  Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les espaces, les caractères spéciaux tels que $, #, @, etc. sont interdits, à l’exception du caractère _ (souligné).  •La casse est significative (les caractères majuscules et minuscules sont distingués).  Attention : Joseph, joseph, JOSEPH sont donc des variables différentes. Soyez attentifs !
  • 31.
    31 4.Syntaxe du langage •Variables Le type d’une variable correspond à la nature de celle-ci. Les trois principaux types dont nous aurons besoin dans un premier temps sont les entiers (integer ou int), les nombres décimaux que nous appellerons floats et les chaînes de caractères (string ou str). Bien sûr, il existe de nombreux autres types (par exemple, les booléens, les nombres complexes, etc.).
  • 32.
    32 4.Syntaxe du langage •Typage des variables Sous Python, il n’est pas nécessaire d’écrire des lignes de programme spécifiques pour définir le type des variables avant de pouvoir les utiliser. Il vous suffit en effet d ’assigner une valeur à un nom de variable pour que celle-ci soit automatiquement créée avec le type qui correspond au mieux à la valeur fournie. Python doit savoir de quel type est la variable pour pouvoir lire correctement sa valeur. • Str= String = Chaine de caractères • Int= Integer = Nombre entier • Float= Float = Nombre à virgule
  • 33.
    33 4.Syntaxe du langage •Typage des variables  Entiers On utilise des variables de type int pour représenter des entiers. Il est nécessaire de le préciser en particulier lors d’une saisie. Par exemple, on saisit un int dans la variables x avec l’instruction suivante : x = int ( input ( ) )  Flottants Les flottants servent à représenter les réels. Leur nom vient du fait qu’on les représente de façon scientifique : un nombre décimal (à virgule) muni d’un exposant (un décalage de la virgule). Le type servant à les représenter est float. x = float ( input ( ) )
  • 34.
    34 4.Syntaxe du langage •Typage des variables  Chaînes de caractères Une chaîne de caractères, abrégé str, est une succession de caractères (aucun, un ou plusieurs). Les littéraux de ce type se délimitent par des quotes (doubles ou simples), et l’instruction de saisie s’écrit sans le <type>. Par exemple, maChaine = input ( )  Booléens Une variable booléenne ne peut prendre que deux valeurs : vrai et faux. Le type booléen en Python est bool et une variable de ce type peut prendre soit la valeur True, soit la valeur False.
  • 35.
    35 4.Syntaxe du langage •Typage des variables La méthode type permet de récupérer le type de la variable tel que Python le voit. Exemple:
  • 36.
    36 4.Syntaxe du langage •Typage des variables La méthode type permet de récupérer le type de la variable tel que Python le voit. Exemple:
  • 37.
    37 5.Les opérateurs Les opérateurspermettent de manipuler les variables en mémoire pour obtenir des résultats. • Affectation (ou assignation) En Python comme dans de nombreux autres langages, l’opération d’affectation est représentée par le signe égale.
  • 38.
    38 5.Les opérateurs • Affectationsmultiples Sous Python, on peut assigner une valeur à plusieurs variables simultanément. Exemple :
  • 39.
  • 40.
    40 5.Les opérateurs • >>>13 // 3 # Le quotient 4 • >>> 13 % 3 # Le reste 1
  • 41.
  • 42.
    42 Priorité des opérations Lorsqu’ily a plus d’un opérateur dans une expression, l’ordre dans lequel les opérations doivent être effectuées dépend de règles de priorité. Sous Python, les règles de priorité sont les mêmes que celles qui vous ont été enseignées au cours de mathématique. Vous pouvez les mémoriser aisément à l’aide d’un « truc » mnémotechnique, l’acronyme PEMDAS : 5.Les opérateurs
  • 43.
    43 1. • Ppour parenthèses. Ce sont elles qui ont la plus haute priorité. Elles vous permettent donc de « forcer » l’évaluation d’une expression dans l’ordre que vous voulez. Ainsi 2*(3-1) = 4 , et (1+1)**(5-2) = 8. • E pour exposants. Les exposants sont évalués ensuite, avant les autres opérations. Ainsi 2**1+1 = 3 (et non 4), et 3*1**10 = 3 (et non 59049 !). 5.Les opérateurs
  • 44.
    44 • M etD pour multiplication et division, qui ont la même priorité. Elles sont évaluées avant l’addition A et la soustraction S, lesquelles sont donc effectuées en dernier lieu. Ainsi 2*3-1 = 5 (plutôt que 4), et 2/3-1 = -0.3333... (plutôt que 1.0). • Si deux opérateurs ont la même priorité, l’évaluation est effectuée de gauche à droite. Ainsi dans l’expression 59*100//60, la multiplication est effectuée en premier, et la machine doit donc ensuite effectuer 5900//60, ce qui donne 98. Si la division était effectuée en premier, le résultat serait 59 (rappelez- vous ici que l’opérateur // effectue une division entière, et vérifiez en effectuant 59*(100//60)). 5.Les opérateurs
  • 45.
    45 5.Les opérateurs Exercice Essayez deprédire le résultat de chacune des instructions suivantes, puis vérifiez-le dans l’interpréteur Python :
  • 46.
  • 47.
    47 5.Les opérateurs • Indentationgénérale On appelle indentation le fait de décaler une ou plusieurs lignes de code à l’aide d’espaces, généralement 4 comme recommandé par Python, ou d’une tabulation (touche ||Tab|| à gauche de la touche ||A||). Cette indentation est requise pour le bon fonctionnement de la condition.
  • 48.
    48 5.Les opérateurs • Indentationgénérale En Python, l’indentation des lignes fait partie intégrante de la structure des programmes. Là où les langages C et Java utilisent des accolades pour définir des blocs, Python se base sur le retrait d’une ligne pour définir son niveau. L’interpréteur remplace toutes les tabulations rencontrées entre le début de la ligne et le premier caractère interprétable par un certain nombre d’espaces puis comptabilise le nombre d’espaces obtenus. Ce nombre définit un niveau d’indentation. Si le retrait augmente à la ligne suivante, le niveau est incrémenté et la taille de retrait y est associée. Lorsque le retrait diminue, le niveau est décrémenté en conséquence .
  • 49.
    49 6.Les structures conditionnelles •L’instruction if L’instruction if (« si ») est associée à une expression terminée par le caractère :. Chaque élément de l’expression est évalué tour à tour. Si l’expression évaluée renvoie False, l’interpréteur n’exécute pas le contenu de la structure. Dans le cas où l’évaluation de l’expression renvoi True, le bloc est exécuté. Il est possible de définir un deuxième bloc délimité par l’instruction else (« sinon »), exécuté lorsque l’expression renvoie False.
  • 50.
    50 6. Les structuresconditionnelles • L’instruction if Enfin, l’instruction elif, forme contractée de else if pour « sinon, si » permet d’imbriquer une série de structures de type if : chaque condition est testée, et en cas de résultat négatif, l’instruction suivante est à son tour évaluée. Ce principe permet de mettre en place des structures équivalentes au switch en C et au case en Pascal .
  • 51.
    51 6. Les structuresconditionnelles • if, else, et else if( elif) Exemple : age = int(input("Quel est votre âge? ")) # Souvenez-vous, il faut convertir en un entier if age > 16 : print("Vous avez plus de 16 ans ") Par exemple, i = int ( input ( "Saisissez une valeur" ) ) i f ( i == 0) : print ( "Vous avez saisi une valeur nulle." ) print ( "Au revoir !" )
  • 52.
    52 6. Les structuresconditionnelles • if, else, et else if( elif) • Exemple:
  • 53.
    53 6. Les structuresconditionnelles  if, else, et else if( elif) • Exemple: • i = int ( input ( "Saisissez une valeur" ) ) • i f ( i == 0) : print ( "Vous avez saisi une valeur nulle." ) • else : print ( "La valeur que vous avez saisi n’est pas nulle »). • Notez la présence de l’opérateur de comparaison ==. Si vous utilisez = pour comparer deux valeurs, ça ne compilera pas !
  • 54.
    54 6. Les structuresconditionnelles if, else, et else if( elif) Exemple : #!/usr/bin/python # -*- coding: utf-8 -*- temperature = int (input( "Donnez la Temp") ) if temperature < 0 : print ("il gèle") elif temperature >=0 and temperature <100 : print ("l’eau est liquide") else : print ("l’eau est à l’état gazeux")
  • 55.
    55 6. Les structuresconditionnelles • L’instruction print • Exercice • a = int(input("saisir [a :")) • b = int(input("saisir b]:")) • val = int(input("saisir une valeur :")) • if a <= val <= b: • print(val, "appartient a l'intervalle [", a, ", ", b, "]") • else: • print(val, "n'appartient pas a l'intervalle [", a, ", ", b, "]")
  • 56.
    56 6. Les structuresconditionnelles if, else, et else if( elif) Exemple : #!/usr/bin/python # -*- coding: utf-8 -*- temperature = int (input( "Donnez la Temp") ) if temperature < 0 : print ("il gèle") elif temperature >=0 and temperature <100 : print ("l’eau est liquide") else : print ("l’eau est à l’état gazeux")
  • 57.
    57 6. Les structuresconditionnelles Instructions imbriquées Il est parfaitement possible d’imbriquer les unes dans les autres plusieurs instructions composées, de manière à réaliser des structures de décision complexes. Exemple :
  • 58.
    58 6. Les structuresconditionnelles – l’instruction while L’une des tâches que les machines font le mieux est la répétition sans erreur de tâches identiques. Il existe bien des méthodes pour programmer ces tâches répétitives.
  • 59.
    59 6. Les structuresconditionnelles – l’instruction while comment cela fonctionne : • Avec l’instruction while, Python commence par évaluer la validité de la condition fournie entre parenthèses • Si la condition se révèle fausse, alors tout le bloc qui suit est ignoré et l’exécution du programme se termine . • Si la condition est vraie, alors Python exécute tout le bloc d’instructions constituant le corps de la boucle.
  • 60.
    60 6. Les structuresconditionnelles – l’instruction while Remarque: Une boucle while nécessite trois éléments pour fonctionner correctement : 1. l’initialisation de la variable de test avant la boucle ; 2. le test de la variable associé à l’instruction while ; 3. l’incrémentation de la variable de test dans le corps de la boucle. Faites bien attention aux tests et à l’incrémentation que vous utilisez car une erreur mène souvent à des boucles infinies qui ne s’arrètent pas. Vous pouvez néanmoins toujours stopper l’exécution d’un script Python à l’aide de la combinaison de touches Ctrl-C.
  • 61.
    61 6. Les structuresconditionnelles – l’instruction while Remarque(suite ) • La variable évaluée dans la condition doit exister au préalable (il faut qu’on lui ait déjà affecté au moins une valeur). • Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
  • 62.
    62 6. Les structuresconditionnelles NB: la fonction print() permet d’afficher plusieurs expressions l’une à la suite de l’autre sur la même ligne : il suffit de les séparer par des virgules Exercices :  obtenir la liste des carrés et des cubes des nombres de 1 à 12  Écrire un programme qui affiche les 20 premiers termes de la table de multiplication par 7.
  • 63.
    63 6. Les structuresconditionnelles La Boucle for o Permet de répéter une ou plusieurs instructions un nombre fini de fois connu à l'avance. o Elle permet de réaliser la répétition d’une ou plusieurs instructions selon le principe suivant : Syntaxe en Python for variable in range(n) : instruction(s) La variable indiquée prend alors automatiquement toutes les valeurs entières de 0 à n - 1.
  • 64.
    64 6. Les structuresconditionnelles La Boucle for Exemples:  for i in range (N) : print ( ”J ’ ai tout compris ! ” )  for i in range ( 10 ) : print (2 i ) ∗ S = 0 for i in range ( 1 0 ) : S = S+i print ( S )
  • 65.
    65 6. Les structuresconditionnelles La Boucle for De façon générale, la boucle for est souvent utilisée pour parcourir tout objet itérable comme une chaine de caractères ou une liste : Exemple: phrase = ”J ’ aime les papates crues ” for lettre in phrase : print ( lettre , end=’ , ’ )
  • 66.
    66 6. Les structuresconditionnelles La Boucle for Autre Syntaxe : Utilisation de range() for compteur in range(Bor_inf, Bor_sup, Pas): traitement # Retour à la ligne sans indentation N.B.:  bor_inf: représente la borne inférieure du compteur ,c'est le point de 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 mentionner cette valeur • Pas: représente la valeur d’avancement du compteur ,par défaut le pas=1
  • 67.
    67 6. Les structuresconditionnelles La Boucle for • Exemples:
  • 68.
    68 6. Les structuresconditionnelles  Instructions break et continue Ces deux instructions permettent de modifier le comportement d’une boucle (for ou while) avec un test. L’instruction break stoppe la boucle.
  • 69.
    69 7. Les chaînesde caractères • Un texte est une suite finie de caractères : lettres capitales ou minuscules, chiffres, ponctuations, espaces, symboles mathématiques, etc. • ▶ En programmation, un texte est une chaîne (de caractères) : anglais string • Exemple: • texte = 'Cette phrase est fausse'
  • 70.
    70 7. Les chaînesde caractères • Un chaîne peut être définie avec des guillemets simples ' ou double « • >>> 'Coucou' == "Coucou ’’ • ▶ Une chaîne est une suite de caractères • ▶ La longueur (length) d’une chaîne est le nombre de caractères. ▶ Les caractères sont indexés de 0 à len(texte)-1.
  • 71.
    71 7. Les chaînesde caractères • Extraction d’une sous-chaîne Python permet d’extraire une tranche (slice) d’une chaîne de caractères, repérée par ses positions extrêmes. texte[a:b]: signifie la sous-chaîne d’indice i [a,b−1] ∈
  • 72.
    72 7. Les chaînesde caractères • Extraction d’une sous-chaîne • Utilisation de for
  • 73.
    73 8. Les listes •Une liste est une structure de données qui contient une série de valeurs. Python autorise la construction de liste contenant des valeurs de types différents (par exemple entier et chaîne de caractères), ce qui leur confère une grande flexibilité. • Une liste est déclarée par une série de valeurs (n'oubliez pas les guillemets, simples ou doubles, s'il s'agit de chaînes de caractères) séparées par des virgules, et le tout encadré par des crochets.
  • 74.
  • 75.
    75 8. Les listes •Utilisation Un des gros avantages d'une liste est que vous pouvez appeler ses éléments par leur position. Ce numéro est appelé indice (ou index) de la liste.
  • 76.
    76 8. Les listes •Utilisation NB: les indices d'une liste de n éléments commencent à 0 et se terminent à n-1. Exemple : Par conséquent, si on appelle l'élément d'indice 4 de notre liste, Python renverra un message d'erreur :
  • 77.
    77 8. Les listes •Opération sur les listes Tout comme les chaînes de caractères, les listes supportent l'opérateur de concaténation, ainsi que l'opérateur +pour la duplication* :
  • 78.
    78 8. Les listes •Opération sur les listes • Possibilité de sélectionner une partie d'une liste en utilisant un indiçage construit sur le modèle [m:n+1] pour récupérer tous les éléments, du émième au énième (de l'élément m inclus à l'élément n+1 exclu). • On dit alors qu'on récupère une tranche de la liste, par exemple :
  • 79.
    79 8. Les listes •Fonction len() • L'instruction len() vous permet de connaître la longueur d'une liste, c'est-à-dire le nombre d'éléments que contient la liste. Exemple :
  • 80.
    80 8. Les listes •Les fonctions range() et list() L'instruction range() est une fonction spéciale en Python qui génère des nombres entiers compris dans un intervalle. Lorsqu'elle est utilisée en combinaison avec la fonction list(), on obtient une liste d'entiers. Par exemple :
  • 81.
    81 8. Les listes •L'instruction range() fonctionne sur le modèle range([début,] fin[, pas]). Les arguments entre crochets sont optionnels. Pour obtenir une liste de nombres entiers, il faut l'utiliser systématiquement avec la fonction list().
  • 82.
    82 8. Les listes •Minimum, maximum et somme d'une liste Les fonctions min(), max() et sum() renvoient respectivement le minimum, le maximum et la somme d'une liste passée en argument.
  • 83.
    83 8. Les listes •La commande liste[ ] permet d’accéder facilement à un élément d’une liste grâce à son indice. • La commande del() permet de supprimer un élément d’une liste grâce à l’indice de cet élément. • La commande remove() permet de supprimer un élément repéré par sa valeur dans une liste. Elle supprime le premier élément de la liste ayant cette valeur.
  • 84.
    84 8. Les listes •list.append() Exemple: li = [1, 2, 3, 4, 5] print li li .append(6) print li Utilité : comme son nom l’indique en anglais, cette fonction sert à ajouter à la liste "list" un élément "element" à la fin de cette dernière. Syntaxe générale : list .append(element)
  • 85.
    85 9. Les fonctionset procédures Définition d’une fonction - def Syntaxe La syntaxe Python pour la définition d’une fonction est la suivante :: Corps de la fonction Comme les instructions if for et while, l’instruction def est une instruction composée. La ligne contenant cette instruction se termine obligatoirement par un deux-points :, qui introduisent un bloc d’instructions qui est précisé grâce à l’indentation. Ce bloc d’instructions constitue le corps de la fonction.
  • 86.
    86 9. Les fonctionset procédures Exemples
  • 87.
    87 9. Les fonctionset procédures Définition Il est possible de définir des « fonctions » qui ne fournissent aucun résultat ! On appelle cela des procédures. Pour écrire une procédure, il suffit de ne jamais utiliser return dans la programmation. Par exemple, on peut se contenter d’écrire à l’écran le résultat du calcul, sans le fournir pour autant comme résultat « déclaré ».
  • 88.
    88 9. Les fonctionset procédures • Fonction sans paramètre
  • 89.
    89 9. Les fonctionset procédures • Fonction avec paramètre
  • 90.
    90 9. Les fonctionset procédures • « Vraies » fonctions et procédures • Pour les puristes, les fonctions que nous avons décrites jusqu’à présent ne sont pas tout à fait des fonctions au sens strict, mais plus exactement des procédures. • Une « vraie » fonction (au sens strict) doit en effet renvoyer une valeur lorsqu’elle se termine. Une « vraie » fonction peut s’utiliser à la droite du signe égale dans des expressions telles que y = sin(a). On comprend aisément que dans cette expression, la fonction sin() renvoie une valeur (le sinus de l’argument) qui est directement affectée à la variable y. • Voici un exemple extrêmement simple:
  • 91.
    91 9. Les fonctionset procédures • « Vraies » fonctions et procédures