0% ont trouvé ce document utile (0 vote)
79 vues78 pages

Programmation Python3 Partie 1: Année Universitaire: 2024/2025

Transféré par

lkifar.i2s
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
79 vues78 pages

Programmation Python3 Partie 1: Année Universitaire: 2024/2025

Transféré par

lkifar.i2s
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation Python3

Partie 1

Année universitaire: 2024/2025 Pr:Iman EL MIR


Ø Introduction

Ø Présentation du Python

Ø Les structures alternatives

Ø Les Boucles

Ø Les ruptures de séquences

CONTENTS
La programmation
Démarche
• Penser, réfléchir, …
• Résoudre un problème à la manière d’un analyste.
• Utiliser un langage formel pour décrire notre raisonnement
La programmation consiste à « expliquer » en détails à une machine ce qu'elle doit faire, en sachant
qu'elle ne peut pas véritablement « comprendre » un langage humain, mais seulement effectuer un
traitement automatique sur des séquences de caractères.

Un programme n'est rien d'autre qu'une suite d'instructions, codées en respectant de manière stricte un
ensemble de conventions fixées à l'avance que l'on appelle un langage informatique. La machine est
ainsi pourvue d'un mécanisme qui décode ces instructions en associant à chaque « mot » du langage
une action précise.

Apprendre à programmer :
1. activité intéressante qui contribue à développer votre intelligence.
2. procure une grande satisfaction : pouvoir réaliser des projets concrets.
Machine, Langage et Programmation

Dans son fonctionnement interne, un ordinateur est totalement incapable de traiter


autre chose que des nombres binaires.

…00110011001100110011000011111100001111….

• Toute information d'un autre type doit être convertie, ou codée, en format binaire. Cela
est vrai pour :

Ø les données que l'on souhaite traiter (les textes, les images, les sons, les nombres,
etc.),

Øles programmes : c'est-à-dire les séquences d'instructions que l'on va fournir à la


machine pour lui dire ce qu'elle doit faire avec ces données.
Machine, Langage et Programmation

Le seul «langage» que l'ordinateur puisse véritablement «comprendre» est donc très éloigné de ce
que nous utilisons nous-mêmes.

• C'est une longue suite de 1 et de 0 (les "bits") souvent traités par groupes de 8 (les « octets »), 16, 32, ou
même 64.

00011111, 1E , AB6D, …etc

• Ce « langage machine » est évidemment « presque » incompréhensible pour nous.

• Pour « parler » à un ordinateur, il nous faudra utiliser des systèmes de traduction automatiques,
capables de convertir en nombres binaires des suites de caractères formant des mots-clés qui seront plus
significatifs pour nous.
Machine, Langage et Programmation

Le système de traduction proprement dit s'appellera interpréteur ou bien


compilateur, suivant la méthode utilisée pour effectuer la traduction.

On appellera langage de programmation un ensemble de « mots-clés » (choisis


arbitrairement) associé à un ensemble de règles très précises indiquant comment on
peut assembler ces mots pour former des « phrases » que l'interpréteur ou le
compilateur puisse traduire en langage machine (binaire)

• Langage de haut niveau ?


• Langage de bas niveau ?
Compilation et Interprétation
Il existe deux techniques de traduction:

Ce que nous écrirons … Affichage ligne


par ligne
Ce que l’on utilisera à chaque fois que
l’on voudra exécuter le code source :
traduction/exécution ligne par ligne.
Compilation et interprétation

traduit la totalité du texte Programme prêt à être exécuté


source en une fois
Compilation et interprétation
• L'interprétation est idéale lorsque l'on est en phase d'apprentissage du langage.
Avec cette technique, on peut tester immédiatement toute modification apportée au
programme source, sans passer par une phase de compilation qui demande toujours
plus de temps.

Par contre, lorsqu'un projet comporte des fonctionnalités complexes qui doivent
s'exécuter rapidement, la compilation est préférable : il est clair qu'un programme
compilé fonctionnera toujours nettement plus vite que son homologue interprété,
puisque dans cette technique l'ordinateur n'a plus à (re)traduire chaque instruction
en code binaire avant qu'elle puisse être exécutée.
Compilation et interprétation

Certains langages modernes tentent de combiner les deux


techniques afin de garder le meilleur de chacune.

très facile à interpréter


portable
Mise au point d'un programme.
Recherche des erreurs «debug»
Types d’erreurs :

1. syntaxe : se réfère aux règles que les auteurs du langage ont établies pour la structure du
programme.

2. sémantique : c’est une erreur de logique, i.e, le programme est sans erreurs mais les
résultats sont inattendus.

3. d’exécution ou « Run-time error » : lorsque votre programme fonctionne déjà, mais que
des circonstances particulières se présentent (par exemple, votre programme essaie de lire
un fichier qui n'existe plus, une division par zéro).
Langages naturels et langages formels
1. Les langages naturels sont ceux que les êtres humains utilisent pour
communiquer. Ces langages n'ont pas été mis au point délibérément (encore
que certaines instances tâchent d'y mettre un peu d'ordre) : ils évoluent
naturellement.

2. Les langages formels sont des langages développés par nous même, en vue
d'applications spécifiques.

• Par exemple, le système de notation utilisé par les mathématiciens est un


langage formel particulièrement efficace pour représenter les relations entre
nombres et grandeurs diverses.

Les langages de programmation sont des langages formels qui ont été développés pour
décrire des algorithmes et des structures de données.
Python

Python est un langage portable, extensible, gratuit, qui permet (sans l'imposer)
une approche modulaire et orientée objet de la programmation. Python est
développé depuis 1989 par Guido van Rossum et de nombreux contributeurs
bénévoles.
Il est apprécié par les pédagogues qui y trouvent un langage où la syntaxe
permet une initiation aisée aux concepts de base de la programmation. Enfin, le
langage Python gagne en popularité car il est le langage favori des « data
scientists », notamment. Il permet également de faire du Web aisément avec
Django.
Présentation du Python

A quoi resemble Fonctionnement


Python?

Qu’est ce que Composants Qui l’utilise et


Python? pourquoi ?
Qu’est ce que Python?
Un langage de programmation

de haut orienté
Très dynamique
niveau objet
populaire
A quoi resemble Python?
Inspiré du langage
Similitudes Différences
• Opérateurs
opérateurs de comparaison : • pas de point virgule
= ,<,<=,>,>=
• pas de parenthèses
• Données dynamiques
• Règles de nommage identiques
pas besoin qu’elles soient déclarées
et spécifiquement définies avant
• Mots clés leur utilisation
IF ELSE FOR WHILE
• utilisation de l’indentation
Quels éléments constituent Python?

Types de données
Organisation
§ numérique
§ Booléen § Packages
§ Chaîne de caractères § Modules
§ Fonctions
Objets W § Classes
§ Méthodes
§ peuvent être manipulés
§ déplacés dans divers types de
structures Librairies
§ examinés pendant l’exécution du § Disponiblité des ressources
programmes telles que : packages,
§ Définition des classes modules
§ L’héritage.
Fonctionnement du Python?

Langage Gestion des Les variables


interprété erreurs par dynamiques
l’utilisation des peuvent changer
exceptions de type
Les principales caractéristiques du langage Python

Disponibilité de bibliothèques Travail intéractif


Il est possible d'associer des Il permet de créer toutes sortes
bibliothèques à Python afin d'étendre ses de programmes, comme des
possibilités. jeux, des logiciels, des
progiciels, etc.

Langage interprété Langage portable


Python est un langage de Il est portable, c'est à dire qu'il
programmation interprété, à ne peut fonctionner sous
pas confondre avec un langage différents systèmes
compilé. d'exploitation (Windows, Linux,
Mac OS X,…).
Quelques environnements de programmation

Jupyter Notebook et JupyterLab VSCode


L’utilisateur écrit en Python dans des cellules de L’éditeur multi-langage et open-source proposé
code au sein d’une page web habituelle, par Microsoft. Selon plusieurs enquêtes, il serait
contenant du texte, des images, de la vidéo. Cet un des éditeurs les plus utilisés, en particulier
environnement est utilisé dans les sciences des dans le monde professionnel.
d o n n é e s et l ’ I A et p e u t - ê t re a u s s i d a n s Le créateur du langage Python et le créateur de
l’éducation. JupyterLab est une évolution des l’extension Python de VSCode travaillent
feuilles Jupyter Notebook. pour Microsoft.

IDLE
Spyder il est disponible par défaut quand on utilise la
Environnement de programmation en distribution « officielle » téléchargée depuis [Link]
Python destiné aux scientifiques, et donc ne nécessite aucune installation (sauf sous
ingénieurs, analystes de données. Linux). C’est probablement un des éditeurs les plus
Serait utilisé dans l’enseignement. simples mais son interface est limitée
Pourquoi son utilisation?

§ Développement des applications Compatibilité avec des


côté client serveur langages et des plateformes
§ Traitement d’image et de son
§ Des jeux vidéo en 2D

Richesse des librairies des


modules

Développement des interfaces


pour des Bases de données
relationnelles
La construction des programmes
Python offre les deux techniques

la méthodologie objet
la méthodologie procédurale
On emploie l’analyse descendante (division On conçoit des fabriques (classes) qui servent à
des problèmes) et remontante (réutilisation produire des composants (objets) qui
d’un maximum de sous algorithmes). contiennent des données (attributs) et des
actions (méthodes).
O n s ’e f fo r c e a i n s i d e d é c o m p o s e r u n Les classes dérivent (héritage et polymorphisme)
problème complexe en sous-programmes de classes de base dans une construction
plus simples. hiérarchique.
La présentation des programmes
L’exécution d’un programme Python se fait à l’aide d’un interpréteur. Il s’agit d’un programme qui va
traduire les instructions écrites en Python en langage machine, afin qu’elles puissent être exécutées
directement par l’ordinateur. On dit donc que Python est un langage interprété.

Il y a deux modes d’utilisation de Python :

§ Dans le mode interactif, aussi appelé mode console, mode shell ou terminal Python, l’interpréteur
vous permet d’encoder les instructions une à une. Aussitôt une instruction encodée, il suffit
d’appuyer sur la touche «Entrée» pour que l’interpréteur l’exécute.

§ Dans le mode script, il faut avoir préalablement écrit toutes les instructions du programme dans un
fichier texte, et l’avoir enregistré sur l’ordinateur avec l’extension .py. Une fois cela fait, on
demandera à Python de lire ce fichier et exécuter son contenu, instruction par instruction, comme si
on les avait tapées l’une après l’autre dans le mode interactif.
Mode interactif
Dans un terminal écrire python3 puis appuyer sur la touche «Entrée» ;

Un invite de commande, composé de trois chevrons (>>>), apparaît : cette marque visuelle indique que
Python est prêt à lire une commande.

Il suffit de saisir à la suite une instruction puis d’appuyer sur la touche «Entrée».

>>> print("Hello world")


Hello world

Si l’instruction produit un résultat, il est affiché une fois l’instruction exécutée.


Pour quitter le mode interactif, il suffit d’exécuter l’instruction exit(). Il s’agit de nouveau d’une
fonction prédéfinie de Python permettant de quitter l’interpréteur.
Mode script
Dans le mode script, il faut avoir préalablement écrit toutes les instructions du programme dans un
fichier texte, et l’avoir enregistré sur l’ordinateur.

On utilise généralement l’extension de fichier .py pour des fichiers contenant du code Python. Une fois
cela fait, l’interpréteur va lire ce fichier et exécuter son contenu, instruction par instruction, comme si on
les avait tapées l’une après l’autre dans le mode interactif.

Dans le mode interactif, la valeur de la variable a est affichée directement tandis que dans le mode script,
il faut utiliser print(a).
Structure d’un algorithme/ programme

Un algorithme est composé de trois parties principales :

§ L’en-tête : cette partie sert à donner un nom à l’algorithme. Elle est précédée par le mot
Algorithme ;
§ La partie déclarative : dans cette partie, on déclare les différents objets que l’algorithme utilise
(constantes, variables, etc.) ;
§ Le corps de l’algorithme : cette partie contient les instructions de l’algorithme. Elle est délimitée
par les mots Début et Fin.
Structure d’un algorithme/ programme
La présentation des programmes
Un programme source est destiné à l’être humain. Pour en faciliter la lecture, il doit
être judicieusement commenté.
La signification de parties non triviales doit être expliquée par un commentaire.

Le symbole dièse (#) indique le début d’un commentaire : tous les caractères entre # et
la fin de la ligne sont ignorés par l’interpréteur.

#---------------------
# Voici un commentaire
#---------------------
9 + 2 # En voici un autre
La présentation des programmes
En Python, c’est l’indentation (les espaces en début de chaque ligne) qui détermine les
blocs d’instructions (boucles, sous-routines, etc.).

Pour produire une indentation on peut soit appuyer 4 fois sur la barre d’espace ou
appuyer une fois sur la touche tabulation.

L’indentation doit être homogène (soit des espaces, soit des tabulations, mais pas un
mélange des deux).
exemple :
for i in range(5): # aucune tabulation
for j in range(4): # une tabulation
print(i+j) # deux tabulations
La présentation des programmes
La version 3.1.2 de Python compte 33 mots clés :

and del from None True


as elif global nonlocal try
assert else if not while
break except import or with
class False in pass yield
continue finally is raise
def for lambda return
La présentation des programmes
Une expression est une portion de code que l’interpréteur Python peut évaluer pour
obtenir une valeur.
Les expressions peuvent être simples ou complexes. Elles sont formées d’une
combinaison de littéraux, d’identifiants et d’opérateurs.

id1 = 15.3
id2 = maFonction(id1)
if id2 > 0:
id3 = [Link](id2)
else:
id4 = id1 - 5.5*id2
Le nombre
Il y a trois types numériques en Python :

§ Le type entier int permet de représenter n’importe quel nombre entier, peu importe
sa taille.
§ Le type flottant float permet de représenter des nombres comportant une partie
décimale (comme 3.14 ou 2.1e − 23) avec au plus 15 chiffres significatifs, compris
entre 10−324 et 10308. La valeur spéciale [Link] représente l’infini.
§ Le type complexe complex permet de représenter des nombres complexes, où le
nombre imaginaire se note j (par exemple 3.1+5.2j)
Les opérations

Algorithmique Python

âge ← 44 + 1 age = 44 + 1
âge ← âge + 1 age = age + 1
salaire ← salaire x 1,05 age += 1
quotient ← a ÷ b salaire = salaire * 1.05
nom ← nom | " Darmont" quotient = a / b
nom = nom + " Darmont"

Opérateurs arithmétiques

+ - x ÷ ^ div mod + - * / ** // %
^ ** : exposant mod % : modulo
(reste de division entière)
Les opérations arithmétiques
Les principales opérations :
20 + 3 # 23
20 - 3 # 17
20 * 3 # 60
20 ** 3 # 8000
20 / 3 # 6.666666666666667
20 // 3 # 6 (division entière)
20 % 3 # 2 (modulo)
abs(3 - 20) # valeur absolue

Le rôle des deux opérateurs de division :


/ : produit une division flottante ;
// : produit une division entière.
Le type Bool
Deux valeurs possibles : False, True.

• Opérateurs de comparaison : ==, !=, >, >=, < et <= :


2>8 # False
2 <= 8 < 15 # True
• Opérateurs logiques : not, or et and.
(3 == 3) or (9 > 24) # True (dès le premier membre)
(9 > 24) and (3 == 3) # False (dès le premier membre)

Les opérations logiques et de comparaisons sont évaluées afin de donner des résultats
booléens : False, True.
Le type float
• Un float est noté avec un point décimal ou en notation exponentielle :
2.718
.02
3e8
6.023e23
• Les flottants supportent les mêmes opérations que les entiers.
• Les float ont une précision finie indiquée dans sys.float_info.epsilon.
• L’import du module math autorise toutes les opérations mathématiques usuelles :

import math
print([Link]([Link]/4)) # 0.7071067811865475
print([Link]([Link])) # 180.0
print([Link](9)) # 362880
print([Link](1024, 2)) # 10.0
Les variables
§ Le nom d'une variable est composé des lettres de a à z, de A à Z, et des chiffres 0 à 9,
mais il ne doit pas commencer par un chiffre.

§ 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é). Le tiret (-) est bien sûr
interdit puisqu'il correspond aussi à la soustraction.

§ La casse est significative : spam et Spam sont des variables différentes !


Initialisation de variable

Algorithmique Python
âge ← 44 age = 44
salaire ← 1466,62 Salaire = 1466.62
nom ← "Jérôme" nom = "Jérôme"
nom = 'Jérôme'

v_f ← Vrai v_f = True

a = b = 20
x, y = 30, 40
{Contraire : Faux} # Contraire : False
commentaire commentaire
L’affectation
On affecte une variable par une valeur en utilisant le signe = .
Dans une affectation, le membre de gauche reçoit le membre de droite ce qui
nécessite d’évaluer la valeur correspondant au membre de droite avant de l’affecter au
membre de gauche.

Les variables
Dès que l’on possède des types de données, on a besoin des variables pour stocker les
données.
La valeur d’une variable, comme son nom l’indique, peut évoluer au cours du temps (la
valeur antérieure est perdue) :

a=a+1 # 3 (incrémentation)
a=a-1 # 2 (décrémentation)
Les variantes de l’affectation
En Python, on peut assigner une valeur à plusieurs variables simultanément. Exemple :
a=b=3

On peut aussi effectuer des affectations parallèles à l'aide d'un seul opérateur :
a, b = 3, 2.54

Dans cet exemple, les variables a et b prennent simultanément les nouvelles valeurs 3
et 2.54.

Cela est particulièrement utile quand on veut échanger les valeurs de deux variables. Il
suffit d'écrire :
a, b = b, a
Les variantes de l’affectation
# affectation simple
v=4

# affectation augmentée
v += 2 # idem à : v = v + 2 si v est déjà référencé

# affectation de droite à gauche


c = d = 8 # cibles multiples

# affectations parallèles d’une séquence


e, f = 2.7, 5.1 # tuple
Opérations sur les variables entières
Les chaînes de caractères
• Longueur :
s = ”abcde”
len(s) # 5

• Concaténation :
s1 = ”abc”
s2 = ”defg”
s3 = s1 + s2 # ’abcdefg’

• Répétition :
s4 = ”Fi! ”
s5 = s4 * 3 # ’Fi! Fi! Fi! ’
print(s5)
Les chaînes de caractères : fonctions vs méthodes

On peut agir sur une chaîne (et plus généralement sur une séquence) en utilisant des
fonctions (notion procédurale) ou des méthodes (notion objet).
• Pour appliquer une fonction, on utilise l’opérateur () appliqué à la fonction :
ch1 = ”abc”
long = len(ch1) #3

• On applique une méthode à un objet en utilisant la notation pointée entre la


donnée/variable à laquelle on applique la méthode, et le nom de la méthode suivi de
l’opérateur () appliqué à la méthode :

ch2 = ”abracadabra”
ch3 = [Link]() # ”ABRACADABRA”
Méthodes retournant une nouvelle chaîne

lower(), upper(), capitalize() et swapcase() : retournent respectivement une chaîne en


minuscule, en majuscule, en minuscule commençant par une majuscule, ou en casse
inversée :

# s sera notre chaîne de test pour toutes les méthodes


s = ”cHAise basSe”
print([Link]()) # chaise basse
print([Link]()) # CHAISE BASSE
print([Link]()) # Chaise basse
print([Link]()) # ChaISE BASsE
Les entrées-sorties

L’utilisateur a besoin d’interagir avec le programme.


En mode « console »(on verra les interfaces graphiques ultérieurement), on doit
pouvoir saisir ou entrer des informations, ce qui est généralement fait depuis une
lecture au clavier. Inversement, on doit pouvoir afficher ou sortir des informations, ce
qui correspond généralement à une écriture sur l’écran.
Les entrées-sorties

Algorithmique Python

Lire(nom) nom = input()


Lire(âge) age = int(input())
Lire("Salaire :", salaire) salaire = float(input("Salaire : "))
Écrire("Hello world!") print("Hello world!")
Écrire(âge) print(age)

Écrire("Âge ", âge, "Salaire ", print("Âge", age, "Salaire", salaire)


salaire)
Les entrées-sorties

Il s’agit de réaliser une saisie à l’écran : la fonction standard input() interrompt le


programme, afficher une éventuelle invite et attend que l’utilisateur entre une donnée
et la valide par Entrée.

La fonction standard input() effectue toujours une saisie en mode texte (la saisie est
une chaîne) dont on peut ensuite changer le type (on dit aussi transtyper).
Les entrées-sorties

En mode « calculatrice », Python lit-évalue-affiche, mais la fonction print() reste indispensable aux
affichages dans les scripts :

a, b = 2, 5
print(a, b) # 2 5
print(”Somme :”, a + b) # Somme : 7
print(a - b, ”est la différence”) # -3 est la différence
print(”Le produit de”, a, ”par”, b, ”vaut :”, a * b)
# Le produit de 2 par 5 vaut : 10

Exemple :
>>> a = 3
>>> print(a)
>>> a = a + 3
>>> b = a - 2
>>> print("a =", a, "et b =", b) #a = 6 et b = 4
Les séquences d’échappement
À l’intérieur d’une chaîne, le caractère antislash (\) permet de donner une signification spéciale à
certaines séquences :
Séquence Signification

\\ affiche un antislash
\’ apostrophe
\’’ guillemet
\n saut de ligne
\t tabulation horizontale
\v tabulation verticale

Pour ne pas aller à la ligne et continuer sur la même ligne lors du prochain print, on ajoute le paramètre
end=" " : print( "a vaut ", a, end= " " )
Les entrées-sorties

Un script Python est formé d’une suite d’instructions exécutées en séquence de haut
en bas.

somme = 0.0
nb_valeurs = 0
for v in valeurs:
nb_valeurs = nb_valeurs + 1
somme = somme + valeurs
moyenne = somme / nb_valeurs
Les structures conditionnelles

§ Si condition alors action


§ Si condition alors action1
§ Sinon action2

§ Si condition1 alors action1


§ Sinon si condition2 alors action2

§ Si condition1 alors action1


§ Sinon si condition2 alors action2
§ Sinon action3
Les structures conditionnelles
Algorithme Programme
Si nom = "Jérôme" alors if nom == "Jérôme":
Écrire("Bravo") print("Bravo")
Fin si if age < 18:
Si âge < 18 alors print("Mineur")
Écrire("Mineur") else:
Sinon print("Majeur")
Écrire("Majeur") if salaire < 1466.62:
Fin si print("Pauvre")
Si salaire < 1466,62 alors elif salaire <= 3000:
Écrire("Pauvre") print("Moyen")
Sinon si salaire ≤ 3000 alors else:
Écrire("Moyen") print("Riche")
Sinon
Écrire("Riche")
Fin si
Les structures conditionnelles
Algorithme Programme
Si âge ≥ 25 et salaire = 0 if age >=25 and salaire == 0:
alors print("Droit au RSA")
Écrire("Droit au RSA")
Fin si
Si âge < 18 alors if age < 18:
Si salaire > 0 alors if salaire > 0:
salarie_mineur ← Vrai salarie_mineur = True
Sinon else:
salarie_mineur ← Faux salarie_mineur = False
Fin si
Fin si
Les structures conditionnelles

>>> a = 5
>>> if a > 0: # Si a est positif
... print("a est positif.")
... if a < 0: # a est négatif
... print("a est négatif.")

L’instruction else

>>> age = 21
>>> if age >= 18: # Si age est supérieur ou égal à 18
... print("Vous êtes majeur.")
... else: # Sinon (age inférieur à 18)
... print("Vous êtes mineur.")
Les structures conditionnelles

L'instruction elif:
Le mot clé elif est une contraction de « else if », que l'on peut traduire très
littéralement par « sinon si ».

>>> if a > 0: # Positif


... print("a est positif.")
... elif a < 0: # Négatif
... print("a est négatif.")
... else: # Nul
print("a est nul.")
Syntaxe compacte d’une alternative

Pour trouver, par exemple, le minimum de deux nombres, on peut utiliser l’opérateur
ternaire (repris du C) :

x, y = 4, 3
# Ecriture classique :
if x < y:
plus_petit = x
else:
plus_petit = y
# Utilisation de l’opérateur ternaire :
plus_petit = x if x < y else y
print(”Plus petit : ”, plus_petit) # 3
Les opérateurs de comparaison
Les conditions doivent nécessairement introduire de nouveauxopérateurs, dits opérateurs de
comparaison.
Opérateur Signification Remarque:
littérale
l'égalité de deuxvaleurs est comparée avec
< Strictement inférieur à l'opérateur « == » et non « = ». Ce dernier est en
effet l'opérateur d'affectation et ne doit pas être
> Strictement supérieur utilisé dans une condition.
à
<= Inférieur ou égal à
>= Supérieur ou égal à
== Égal à

!= Différent de
Les opérateurs de comparaison

Les opérateurs de comparaison


Algorithmique Python
=≠<≤>≥ == != < <= > >=
Opérateurs logiques
Algorithmique Python
et ou non and or not
Les mots-clés and, or et not

a = 5
if a >= 2:
if a <= 8: if a>=2 and a<=8:
print("a est dans l'intervalle.") print("a est dans l'intervalle.")
else: else:
print("a n'est pas dans l'intervalle.") print("a n'est pas dans
l'intervalle.")

if a<2 or a>8:
print("a n'est pas dans
l'intervalle.")
else:
print("a est dans l'intervalle.")
Les mots-clés and, or et not

il existe le mot clé not qui « inverse » un prédicat. Le prédicat not a==5 équivaut
donc à a!=5.

>>> majeur = False


>>> if majeur is not True:
... print("Vous n'êtes pas encore majeur.")
Les Boucles

Le concept boucle permet de répéter une certaine opération autant de


fois que nécessaire.

§ while
§ for
Tant que où répéter jusqu’à ?
Tant que… répéter Répéter… jusqu’à

Les instructions peuvent ne pas être Les instructions sont forcément


exécutées. exécutées une fois.
La Boucle - While
Syntaxe:
while condition:
Bloc d’instructions

x, cpt = 257, 0
print(”L’approximation de log2 de”, x, ”est”, end=” ”)
while x > 1:
x //= 2 # division avec troncature
cpt += 1 # incrémentation
print(cpt, ”\n”) # 8

Utilisation classique : la saisie filtrée d’une valeur numérique (on doit préciser le type car input() saisit
une chaîne) :
n = int(input(’Entrez un entier [1 .. 10] : ’))
while not(1 <= n <= 10):
n = int(input(’Entrez un entier [1 .. 10], S.V.P. : ’))
Les Boucles - WHILE

Syntaxe :
while condition:
# instruction 1
# instruction 2
# ...
# instruction N

Exemple :
nb = 7 # On garde la variable contenant le nombre dont on veut la table de
multiplication
i = 0 # C'est notre variable compteur que nous allons incrémenter dans la
boucle
while i < 10: # Tant que i est strictement inférieure à 10
print(i + 1, "*", nb, "=", (i + 1) * nb)
i += 1 # On incrémente i de 1 à chaque tour de boucle
Tant que où répéter jusqu’à ?

Tant que… répéter Répéter… jusqu’à


Pour i de 1 à 10 faire for i in range(1, 11):
Écrire(7 x i) print(7 * i)
Fin pour

i←1 i=1
Tant que i ≤ 10 faire while i <= 10:
Écrire(7 x i) print(7 * i)
i←i+1 i += 1
Fin tant que
Les Boucles - WHILE

Exercice d’application:

Afficher les 10 premiers entiers.

Solution :
print(" Affichage des 10 premiers entiers ")
i = 1 # variable compteur utilisée par la boucle
while i <= 10:
print(i)
i += 1 # Incrémenter i de 1 (i=i+1)
print( " Fin traitement…")
Les Boucles - WHILE

Exercice d’application:
Création de la table de multiplication d’un entier.

Solution :
nb1= input("Donnez un entier : ")
nb2= int(nb1)
print(" Création de la table de multiplication de: " ,nb1)
i = 1 # variable compteur utilisée par la boucle
while i <= 10:
print(i, "*", nb2, "=", (i * nb2))
i += 1 # Incrémenter i de 1 (i=i+1)
print( " Fin traitement…")
Les Boucles imbriquées

Il est tout à fait possible, et parfois nécessaire, d'imbriquer une boucle dans une autre
boucle.
Par exemple, imaginons que l'on veuille écrire toutes les heures et minutes d'une
journée. Cela commencera par 0 heure 0 minute, 0 heure 1 minute, 0 heure 2
minutes, ..., 0 heure 59 minutes, 1 heure 0 minute, 1 heure 1 minute, ...

h=0
while h<24:
m=0
while m<60:
print(h,"heure(s) ",m,"minute(s)")
m+=1
h+=1
Conversion de type

ton_nombre = int(input("Votre proposition : "))


La fonction input permet à l'utilisateur d'entrer une chaîne de caractères (string en
anglais) au clavier. En écrivant int(input()), on transforme le type string en un type
entier.

La variable ton_nombre contiendra donc un nombre entier.


Les Boucles - FOR

Algorithmique Python
Pour i de 1 à 5 faire for i in range(1, 6):
Pour j de 1 à 5 faire for j in range(1, 6):
Écrire(i x j) print(i * j)
Fin pour
Fin pour
Les Boucles - FOR

Parcourir un itérable (tout conteneur que l’on peut parcourir élément par élément, dans l’ordre ou non,
suivant son type) : B
Syntaxe: o
n
j
for elt in sequence: o
u
Bloc d’instructions r

« elt » est une variable créé par « for ». l


Elle n’est pas instancier par le programmeur. Elle prend successivement chacune des valeurs figurante
s
dans la séquence parcourue.
Z
exemple : E
R
chaine = "Bonjour les ZER0S" 0
for lettre in chaine: S
print(lettre)
Les Boucles - FOR

Exercice d’application :
Ecrire un programme qui affiche les lettres d’une chaîne de caractères si ce sont des
voyelles et, sinon, il affiche des « * »
Solution :
chaine = "Bonjour les enfants"
for lettre in chaine:
if lettre in "AEIOUYaeiouy": # lettre est une voyelle
print(lettre)
else: # lettre est une consonne... ou plus exactement, lettre
n'est pas une voyelle
print("*")
Les Boucles

L’instruction range() : génère une liste de nombres.


Syntaxe :
range([debut], arrêt [, pas])

Exemple :

# Un seul paramètre
for i in range(5):
print(i) Résultat = 0 1 2 3 4
# Deux paramètres
for i in range(3, 6):
print(i) Résultat = 3 4 5
# Trois paramètres
for i in range(4, 10, 2):
print(i) Résultat = 4 6 8
Les Boucles

Exemple :

Afficher les 10 premiers chiffres.

Solution

liste = 10
for chiffre in range(liste):
print(chiffre)
Print " Fin traitement…"
Les ruptures de séquences

Le mot-clé break permet tout simplement d'interrompre une boucle. Sort


immédiatement de la boucle for ou while en cours contenant l’instruction :

for x in range(1, 11): # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


if x == 5:
break
print(x, end=” ”)
print(”\n Boucle interrompue pour x =”, x)

# affiche :
#1234
# Boucle interrompue pour x = 5
Les ruptures de séquences

Continue Passe immédiatement à l’itération suivante de la boucle for ou while en


cours contenant l’instruction ; reprend à la ligne de l’en-tête de la boucle :

for x in range(1, 11): # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


if x == 5:
continue
print(x, end=” ”)
print(”\nLa boucle a sauté la valeur 5”)

# affiche :
# 1 2 3 4 6 7 8 9 10
# La boucle a sauté la valeur 5
Exercice d’application

Calculer le prix TTC d’un article quelconque sachant son prix HT et le taux de TVA (fixé à 20 %).
Formuler la solution en langage algorithmique, puis en Python.

Algorithme prixTTC

Const TVA ← 0,2


Var prixHT, prixTTC : Réels

Début
Lire("Prix HT :", prixHT) {Entrée}
prixTTC ← prixHT × (1 + TVA) {Traitement/calcul}
Écrire("Prix TTC :", prixTTC) {Sortie}
Fin

Vous aimerez peut-être aussi