Chapitre 2 - Les Conditions Les Boucles TD À La Fin
Chapitre 2 - Les Conditions Les Boucles TD À La Fin
Chapitre 2 - Les Conditions Les Boucles TD À La Fin
2
Python
5
Fonctionnalité de Python
● Certaines des fonctionnalités que Python peut faire :
○ Python peut être utilisé sur un serveur pour créer des applications Web.
○ Python peut être utilisé avec un logiciel pour créer des flux de travail.
○ Python peut se connecter aux systèmes de base de données. Il peut également lire et
modifier des fichiers.
○ Python peut être utilisé pour gérer des données volumineuses et effectuer des
mathématiques complexes.
○ Python peut être utilisé pour le prototypage rapide ou le développement de logiciels
prêts pour la production.
Pourquoi Python ?
Python est le langage le plus courant pour écrire des scripts qui automatisent
l’administration des tâches .
7
Prenez vos
ordinateurs
• On crée d’abord notre Setup de Test et
Apprentissage (vous en aurez besoin pour le reste
du cours)
8
Installation – Python3
● Si vous avez un PC sous Windows (ou un Mac) où Python3 n'est pas présent :
● Choisissez la dernière version « stable » de Python3 (pas une version « rc ») adaptée à votre
système (32/64 bits).
● Lancez l'exécution de l'installeur, Lors de l'installation, si les options sont disponibles validez
l'installation de IDLE3 ainsi que l'ajout de python dans le PATH. (il faut cocher la case)
9
3 Prérequis Logiciels
https://www.python.org/downloads/windows/
https://code.visualstudio.com/download
https://github.com/spyder-ide/spyder/releases/latest/download/Spyder_64bit_full.exe
https://git-scm.com/downloads
10
Premier pas
11
Premier pas
12
Premier pas – lancer Python sur le terminal Git Bash
On lance un terminal sur Mac ou linux ou Git bash sur Windows (aussi IDLE):
13
Premier pas – lancer Python sur le terminal Windows
Pour sortir de
l’interpréteur Git bash
ou invite commande
tapez exit() puis Entrer
Premier pas et notions importantes
Calculer avec Python
• Python présente la particularité de pouvoir être utilisé de plusieurs manières différentes.
Vous allez d’abord l’utiliser en mode interactif !
• Dans un second temps, vous apprendrez comment créer vos premier programmes
(scripts) et les sauvegarder sur disque.
Testez ces instructions:
>>>5+3
>>>2 – 9 # les espaces sont optionnels
>>>7 + 3 *4 #la hiérarchie des opérations mathématiques, est-elle respectée?
>>> 20 / 3 >>>2**3
>>> 20 // 3 >>>5!=4
>>> 20%3 >>> 5<=4 15
Structures de données
Variables
Affectation de données
Types de données
Opérations
Lecture / Ecriture
16
Convention de nommage
17
Une Variable
● Une variable dans Python est constituée de trois éléments : son nom, son
type et sa valeur
○ En python, on déclare les variables, il suffit de préciser son nom et sa
valeur on dit que python est un langage à type dynamique
Les types de données les plus simples, ou primitifs, utilisés dans Python sont :
○ int : Les entiers (Integers en anglais)
○ float: Les virgules flottantes (Float en anglais)
○ str :Les chaînes de caractères (Strings en anglais)
○ bool : Les booléens
22
Les types de variables
Donner un type à une variable consiste à définir l’ensemble des valeurs que peut
prendre cette variable ainsi que les opérations qui peuvent lui être appliquées
• Types numériques:
• Booléen : True ou False
• Entier : -32 768 à 32 767
• Réel : -1.79x10 à 1.79x10
• Str :
• Types caractères : Un caractère peut être une lettre (a à z ou A à Z) ou bien un symbole (+,&,$,#)
ou encore un chiffre (0 à 9)
• Types chaines de caractères: Une chaine de caractères est une suite finie de caractère (a à z ou A
à Z) ou bien des symboles (?,!,@,_) ou encore des chiffre de 0 à 9
23
Types de données en Python
24
Les opérations sur les types numériques
● Tout comme les nombres dans Excel ou avec une calculatrice, vous pouvez réaliser toutes
sortes d’opérations arithmétiques avec des entiers et des virgules flottantes dans Python:
● Les symboles +, -, *, /, **, // et % sont appelés opérateurs, car ils réalisent des opérations
sur les variables.
25
Opérateurs de raccourcis
● Très souvent, nous voulons utiliser une seule et même variable à la fois à droite et à
gauche de l'opérateur = .
● Par exemple, si nous devons calculer une série de valeurs successives de puissances de 2 :
x=x**2
● Python vous offre une manière raccourcie d'écrire des opérations comme celle-ci, qui
peuvent être codées comme suit: x**=2
● Si op est un opérateur à deux arguments (c'est une condition très
importante) et l'opérateur est utilisé dans le contexte suivant:
variable = variable op expression
● Il peut être simplifié et illustré comme suit:
○ variable op= expression
● L’opérateur += effectue une addition puis affecte le résultat à la même variable. Cette
opération s’appelle une « incrémentation».
● Les opérateurs -=, *= et /= se comportent de manière similaire pour la soustraction, la
multiplication et la division.
Opérateur de raccourcis
Les opérations sur les types numériques - Application
28
Opérations sur les chaînes de caractères
29
Operateurs de chaine – Réplication/duplication
Operateurs de chaine - Réplication
espace
id6
Opérations illicites
● Notez que Python vous donne des informations dans son message d’erreur.
Dans le second exemple, il indique que vous devez utiliser une variable de
type str c’est-à-dire une chaîne de caractères et pas un int, c’est-à-dire un
32
entier.
L’affichage
33
La fonction print()
● la fonction print() affiche l’argument qu’on lui passe entre parenthèses et un retour à ligne.
● Ce retour à ligne supplémentaire est ajouté par défaut. Si toutefois, on ne veut pas afficher ce retour à
la ligne, on peut utiliser l’argument par « mot-clé » end :
● Une autre manière de s’en rendre compte est d’utiliser deux fonctions print() à la suite. Dans la portion
de code suivante, le caractère « ; » sert à séparer plusieurs instructions Python sur une même ligne :
34
La fonction print()
● La fonction print() peut également afficher le contenu d’une variable quel que soit son
type. Par exemple, pour un entier :
● Il est également possible d’afficher le contenu de plusieurs variables (quel que soit leur
type) en les séparant par des virgules :
● Python a également ajouté un espace à chaque fois que l’on utilisait le séparateur « , ».
On peut modifier ce comportement en passant à la fonction print() l’argument par mot-
clé sep :
● Pour afficher deux chaînes de caractères l’une à côté de l’autre, sans espace, on peut soit
les concaténer, soit utiliser l’argument par mot-clé sep avec une chaîne de caractères vide
:
36
Exercice de recherche 1 – les f-strings
https://python.sdv.univ-paris-diderot.fr/03_affichage/
Rendre la
séance
37
prochaine
Application
40
4
Cette valeur peut
La fonction input() 3
alors être assignée à
une variable
Lorsque cette touche
quelconque.
est enfoncée,
2 l'exécution du
L'utilisateur est
programme se poursuit,
invité à entrer des
1 et la fonction fournit en
caractères au clavier
Cette fonction retour une valeur
et à terminer avec
provoque une correspondant à ce que
<Enter>.
interruption dans le l'utilisateur a entré.
programme
courant.
● La fonction input() est capable de lire les données saisies par l'utilisateur et de
renvoyer les mêmes données au programme en cours d'exécution.
Il peut arriver que la conversion en un nombre entier ne soit pas directe. Dans l’exemple qui suit, on
cherche à convertir une chaîne de caractères en entier mais cette chaîne représente un réel. Il faut
d’abord la convertir en réel puis en entier, c’est à ce moment que l’arrondi sera effectué.
i = int ("3.5") # provoque une erreur
i = int (float ("3.5")) # fonctionne
Opérations sur les chaînes de caractères - Application
x = int(1) # x will be 1
● Essayer de prédire le résultat de
chacune des instructions suivantes et y = int(2.8) # y will be 2
les vérifier ainsi que leur type sur votre z = int("3") # z will be 3
interpréteur python :
x = float(1) # x will be 1.0
○ str(4) * int(" 3 ") y = float(2.8) # y will be 2.8
○ int("3")+float("3.2") z = float("3") # z will be 3.0
○ str(3)*float("3.2") w = float("4.2") # w will be 4.2
○ str(3/4)*2 x = str("s1") # x will be 's1'
y = str(2) # y will be '2'
z = str(3.0) # z will be '3.0' 47
Conversion des types de variables
La fonction input()
● Jetez un œil a notre exemple:
• Le programme précédant invite l'utilisateur a saisi certaines données depuis la console (très probablement a
l'aide d'un clavier.
• La fonction input() est invoquée sans arguments (c'est la manière la plus simple d'utiliser la fonction); la
fonction bascule la console en mode d'entrée ; vous verrez un curseur clignotant, et vous serez en mesure de
saisir quelques frappes, en appuyant sur la touche Entrée ;
• Toutes les données saisies seront envoyées a votre programme via le résultat de la fonction;
La fonction input()
● La fonction input() peut faire autre chose: elle peut inviter l'utilisateur a saisir son
entrée sans aucune aide de print().
● Nous avons un peu modifie notre exemple, regardez le code:
● Le résultat de la fonction input() est une chaîne : Une chaîne contenant tous les caractères
que l'utilisateur entre à partir du clavier. Ce n'est ni un entier ni un flottant.
● Cela signifie que vous ne devez pas l'utiliser comme argument d'une opération
arithmétique.
Erreur du
programme
La fonction input() – type casting
● Python propose deux fonctions simples pour spécifier un type de données et résoudre ce problème :
int()et float().
● Leurs noms sont auto-commentés:
o La fonction int() prend un argument (par exemple, une chaîne:) int(string)et essaie de le
convertir en un entier;
o La fonction float() prend un argument (par exemple, une chaîne:) float(string)et essaie de le
convertir en float
Exercice 1:
Quelle est la sortie de l'extrait de code suivant?
x = int(input("Enter a number: ")) # the user enters 2
print(x * "5")
Exercice 2:
Quelle est la sortie attendue de l'extrait de code suivant?
x = input("Enter a number: ") # the user enters 2
print(type(x))
Exercice 3 :
Tester et commenter ces instructions :
#Problem 1 (QA)
print(input())
#Problem 2
print("Welcome to " + input() + "!")
Exemple de Traduction
d’algorithme en python
55
Les Conditions et les Boucles
57
Plan
L’indentation
La boucle for
La boucle while
● La première ligne correspond à une instruction qui va indiquer à Python de répéter 10 fois d'autres
instructions (il s'agit d'une boucle, on verra le nom de la commande exacte plus tard). Dans le
pseudocode ci-dessus, il y a trois instructions à répéter, nommées sous-instruction1 à sous-
instruction3. 59
Notion de bloc d'instructions et d'indentation
● Notez bien les détails de la syntaxe. La première ligne indique que l'on veut répéter une
ou plusieurs instructions, elle se termine par « : ». Ce symbole « : » indique à Python qu'il
doit attendre un bloc d'instructions, c'est-à-dire un certain nombre de sous-instructions à
répéter.
● Python reconnaît un bloc d'instructions, car il est indenté. L'indentation est le décalage
d'un ou plusieurs espaces ou tabulations des instructions sous-instruction1 à sous-
instruction3, par rapport à
instruction_qui_indique_à_Python_de_répéter_10_fois_ce_qui_suit:.
● Pratiquement, l'indentation en Python doit être homogène (soit des espaces, soit des
tabulations, mais pas un mélange des deux). Une indentation avec quatre espaces est le
style d'indentation le plus traditionnel et celui qui permet une bonne lisibilité du code.
● Enfin, la ligne instruction_suivante sera exécutée une fois que le bloc d'instructions sera
terminé. 60
Prendre des décisions en Python
Les instructions Conditionnelles
61
Les instructions conditionnelles
● Un programme doit souvent prendre en compte différents cas et d’adapter à des situations. Il est
alors nécessaire d’écrire des conditions.
● Une condition est une expression logique dont le résultat est soit « vrai » soit « faux »
62
Les instructions conditionnelles- Comparaison
● Une condition est construite à l’aide d’opérateurs de comparaison :
L’opérateur « égale » noté ==
L’opérateur « différent de » noté !=
Les opérateurs « inférieur à » ou « supérieur à » notés < et >
Les opérateurs « inférieur ou égal à » ou « supérieur ou égal à » notés <= et >=
● Lorsque la situation à tester est plus compliquée, il est possible de combiner plusieurs conditions
grâce aux opérateurs logiques : « and » « or » ou « not »
Exemple : une condition qui vérifie qu’une distance est inférieure à 40m et qu’un accès wifi est autorisé :
distance < 40 and acces == "autorisé"
63
Les instructions conditionnelles - if
● Suivant la valeur d’une condition (vraie ou fausse), le programme choisit les actions à réaliser. On
parle de structures conditionnelles.
● La structure conditionnelle « if » permet d’exécuter un bloc d’instruction lorsqu’une condition est
vérifiée.
Exemple : programme qui affiche l’autorisation d’accès d’un membre à un groupe privé.
64
Les instructions conditionnelles – if … else
65
Exemple
66
Les instructions conditionnelles – if…elif…else
67
Traduire en python
70
Range = مجال
71
72
Les boucles bornées
73
La boucle for
74
La boucle for
75
La boucle for
1
2
La boucle for
La boucle for
78
Les Boucles imbriquées
79
Les boucles non bornées
80
81
La boucle while
Boucle while : Exemple 2
● Programme Python qui convertit un
nombre positif en binaire sans
utiliser de fonction supplémentaire :
print (y)
84
La boucle while
85
Les instructions break et continue
86
L’instruction break
Code Console
87
L’instruction break
Code Console
88
L’instruction continue
Code Console
89
L’instruction continue
Code
Console
90
TPs n°1
« Boucles »
91
Exercice 1
Ecrire un programme qui demande à l’utilisateur de saisir un nombre puis affiche la table
de multiplcation de ce nombre de 0 à 10.
Exercice 2
Ecrire un programme demande à l’utilisateur d’entrer une valeur l et qui permet d'afficher
un triangle isolée forme d’étoile * .
Par exemple, pour l = 7, le programme affichera :
Exercice 3
Ecrire un programme qui demande à l’utilisateur de saisir une chaine de caractère ch
et un caractère c et qui calcule le nombre d’occurrences de ce caractère dans ch.
Exemple d’exécution :
ch = ‘Bonjour ’
Saisir un caractère : o
Le nombre d’occurrences de ce caractère :2
Exercice 4
Écrire un programme demande à l’utilisateur d’entrer un nombre l de lignes et un nombre c de
colonnes et qui permet d'afficher un rectangle d'étoiles.
Par exemple, pour l = 5 et c = 10, le programme affichera :
Exercice 5
Écrire un programme demande à l’utilisateur d’entrer un nombre l de lignes et un nombre c de
colonnes, puis de réaliser un ”cadre d’étoiles” de l lignes par c colonnes.
pour l = 5 et c = 10, le programme affichera :
Exercice 6 : Jeu du juste Prix
Choisir un nombre entre 1 et 1000
Tantque le jeu n’est pas fini :
-> demander à l’utilisateur d’entrer un prix (Justeprix
= 500)
-> s’il trouve le juste prix afficher " c’est gagné ! "
-> sinon on affiche "c’est moins" ou "c’est plus"
Carrée : soit i une variable
print(i**2)
S=S+i**2
P=P*i
95
S=S+(S*0.03)
Correction
96
97
Annexes