0% ont trouvé ce document utile (0 vote)
4 vues27 pages

Programmation Python : Structures conditionnelles et itératives

Le document présente les structures conditionnelles et itératives en Python, en expliquant leur syntaxe et leur utilisation à travers des exemples pratiques. Il aborde les tests simples, les alternatives, l'imbrication de tests, ainsi que les structures de boucle 'for' et 'while'. Des exercices sont également proposés pour renforcer la compréhension des concepts abordés.

Transféré par

anasgamer0065
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)
4 vues27 pages

Programmation Python : Structures conditionnelles et itératives

Le document présente les structures conditionnelles et itératives en Python, en expliquant leur syntaxe et leur utilisation à travers des exemples pratiques. Il aborde les tests simples, les alternatives, l'imbrication de tests, ainsi que les structures de boucle 'for' et 'while'. Des exercices sont également proposés pour renforcer la compréhension des concepts abordés.

Transféré par

anasgamer0065
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

Université Ibn Zohr

Faculté des Sciences Appliquées – Ait Melloul


Génie Informatique et Systèmes Intelligents
Informatique Appliquée S1

Programmation avec Python I

Pr. Rachid FATEH


Année Universitaire: 2025-2026
Structures conditionnelles
Test simple

◼ L‟idée de base est donc la réalisation d‟une ou plusieurs actions selon


la vérification d’une condition.
◼ Cela correspond au SI ... ALORS ... du langage courant.
◼ En mathématiques on utilise également le terme d‟implication.
Syntaxe d’un test simple
if conditionnelle:
IA - S1

bloc d’instructions à exécuter si la


conditionnelle est vraie

Remarque plus qu’importante :


En python les blocs d’instructions sont délimités de deux façons :
1. La ligne les précédant se termine par un double point :
2. L‟intégralité du bloc est indenté par rapport aux instructions qui le
FATEH

précèdent et le suivent.
2
Structures conditionnelles
Test simple

Exemple de test simple :


remplacer un nombre par sa valeur absolue

x = eval(input())
if x < 0:
IA - S1

x = -x
print(x)
FATEH

3
Structures conditionnelles
Test avec alternative(s).
◼ Cette fois-ci, on pourra avoir une ou plusieurs alternatives à la
conditionnelle si cette dernière n‟est pas vérifiée.
◼ On va donc simuler des raisonnements de la forme
SI ... ALORS ...
SINON SI ... ALORS ...
SINON ...
IA - S1

Syntaxe d’un test avec une alternative :

if conditionnelle:
bloc d’instructions à exécuter si la
conditionnelle est vraie
else:
bloc d’instructions à exécuter si la
conditionnelle est fausse
FATEH

4
Structures conditionnelles
Test avec alternative(s)
Exemple de test avec une alternative :
savoir si un nombre est pair ou non

n = eval(input())
if n%2 == 0:
print("le nombre saisi est pair")
IA - S1

else:
print("le nombre saisi est impair")
FATEH

5
Structures conditionnelles
Test avec alternative(s)

Syntaxe d’un test avec plusieurs alternatives :

if conditionnelle:
bloc d’instructions à exécuter si la
conditionnelle est vraie
elif autre_conditionnelle:
bloc d’instructions à exécuter si la seconde
IA - S1

conditionnelle est vraie


else:
bloc d’instructions à exécuter si les premières
conditionnelles sont fausses
FATEH

6
Structures conditionnelles
Test avec alternative(s)

Exemple de test avec plusieurs alternatives : signe strict d‟un nombre

x = eval(input())
if x < 0:
print("le nombre saisi est strictement négatif")
elif x > 0:
IA - S1

print("le nombre saisi est strictement positif")


else:
print("le nombre saisi est nul")
FATEH

7
Structures conditionnelles
Imbrication de tests

◼ L‟imbrication de structures conditionnelles est non seulement


possible mais souvent fort utile.
◼ Cela peut éviter le recours à une succession de tests simples et donc
rendre les codes plus lisibles.

Exemple : équation du premier degré ax + b = 0


IA - S1

a,b = eval(input()),eval(input())
if a == 0:
if b == 0:
print("infinité de solutions")
else:
print("pas de solution")
else:
print("unique solution :",-b/a)
FATEH

8
Structures conditionnelles
Opérateur ternaire.
◼ Cet opérateur permet dans certains cas une syntaxe plus compacte
d‟un test avec une alternative.
◼ Néanmoins son usage est beaucoup plus limité puisque les blocs à
exécuter selon que la conditionnelle soit vraie ou fausse ne doivent
comporter qu‟une seule instruction.
◼ Plus exactement les deux alternatives doivent être le calcul d‟une
expression.
IA - S1

Syntaxe de l’opérateur ternaire :


expression_1 if conditionnelle else expression_2

Exemples : majeur ou mineur ?


statut = "mineur" if age < 18 else "majeur"
FATEH

print("mineur") if age < 18 else print("majeur")


9
Structures conditionnelles
Exercices
Exercice : écrire un programme calculant les maximums et minimums de
deux nombres.
Solution 1 : avec un test à une alternative
x,y = eval(input()),eval(input())
if x > y:
mini,maxi = y,x
else:
IA - S1

mini,maxi = x,y
print("minimum :",mini,", maximum :",maxi)

Solution 2 : avec un test simple


x, y = eval(input()),eval(input())
mini, maxi = x, y
if x > y:
mini, maxi = y, x
FATEH

print("minimum :",mini,", maximum :",maxi)


10
Structures conditionnelles
Exercices
Exercice : écrire un programme qui en fonction de la moyenne aux écrits
du Bac indique si le lycéen en question est admis, recalé ou au
rattrapage.

Solution :

note = eval(input())
IA - S1

if note < 8:
print("recalé")
elif note < 10:
print("rattrapage")
else:
print("admis")
FATEH

11
Structures itératives
Notion d’itération

Dans certaines situations, on est amené à exécuter


plusieurs fois des actions identiques ou du moins de
même nature.

Une Itération est une séquence d‟instructions destinée à


IA - S1

être exécutée plusieurs fois.

Selon que le nombre de répétitions soit connu à l‟écriture du


programme ou pas, on utilisera une structure « for » ou
une structure « while ».
FATEH

12
Structures itératives
Structure “for”

◼ La structure « for » réalise un nombre d‟itérations fixe et connu.


◼ Elle utilise une variable dont la valeur va parcourir une certaine plage
au fil des itérations. C‟est cette variable qui contrôlera le nombre
d‟itérations.
◼ Cette plage de valeurs va être construite grâce à la fonction
« range ».
IA - S1

Syntaxe de la fonction “range” :


range(début,fin,pas)

◼ Cette fonction produit une plage de valeurs allant de „début‟ (inclus) à


„fin‟ (non inclus) avec un certain „pas‟.
◼ À noter que par défaut „début‟ et „pas‟ valent respectivement 0 et 1.
FATEH

13
Structures itératives
Structure “for”

Exemples d’utilisation de la fonction “range” :


◼ range(6) produira la plage de valeurs 0, 1, 2, 3, 4, 5.
◼ range(3,6) produira la plage de valeurs 3, 4, 5.
◼ range(3,10,2) produira la plage de valeurs 3, 5, 7, 9.
◼ range(6,0,-1) produira la plage de valeurs 6, 5, 4, 3, 2, 1.
IA - S1

for i in range(0,n) : # parcourt tous les entiers de 0 à n-1 inclus


for i in range(n,0,-1) : # parcourt tous les entiers de n à 1 inclus dans le sens
décroissant
for i in range(2,1000,3) : # parcourt tous les entiers de 2 à 1000 de 3 en 3
# (2,5,8,...)
for e in li : # parcourt tous les éléments de la liste li
for cle,valeur in [Link] () : # parcourt tous les éléments du dictionnaire d
FATEH

14
Structures itératives
Structure “for”

Syntaxe de la structure “for” :

for var in range(début,fin,pas):


bloc d’instructions à répéter
pendant que var prend les valeurs de la
plage définie par range
IA - S1

Explication du fonctionnement :
◼ Au fil des itérations, la variable var prendra successivement toutes les
valeurs de la plage créée par la fonction range.
◼ Le nombre d’itérations sera donc le nombre d’éléments de la plage
créée par la fonction range.
◼ En pratique on se servira également très souvent des valeurs de la
FATEH

variable var.
15
Structures itératives
Structure “for”
Exemple : table de multiplication d‟un entier saisi par l‟utilisateur

n = eval(input())
for i in range(1,11):
print(i,'*',n,'=',n*i)
IA - S1

Déroulement du programme :
◼ Admettons que l‟utilisateur saisisse la valeur 9.
◼ À la première itération la variable i vaut 1,
il est donc affiché 1 * 9 = 9.
◼ À la seconde itération la variable i vaut 2,
il est donc affiché 2 * 9 = 18.
FATEH

◼ Etc.
16
Structures itératives
Structure “for”
Autres exemples : affichage des nombres pairs entre 20 et 0

for i in range(20,-1,-2):
print(i)

sum = 0
IA - S1

for i in [1, 2, 3, 4]:


sum += i
prod = 1
for p in range(1, 10):
prod *= p

Remarques
Pour un grand nombre d'éléments, on préférera utiliser xrange
FATEH

plutôt que range.


17
Structures itératives
Structure “while”
◼ La structure « while » réalise un nombre d‟itérations non
nécessairement connu à l‟écriture du programme.
◼ Ce nombre dépend d‟une conditionnelle qui sera évaluée avant
chaque itération.
◼ On la qualifie parfois d‟itération conditionnelle.
Syntaxe de la structure “while” :
IA - S1

while conditionnelle:
bloc d’instructions à exécuter tant que la
conditionnelle est vraie

Explication du fonctionnement :
◼ On exécute donc le bloc d‟instructions tant que la conditionnelle
est vraie.
FATEH

◼ Dans ce bloc, il est donc nécessaire de modifier la valeur de la


conditionnelle pour ne pas risquer d‟avoir une infinité d‟itérations. 49
Structures itératives
Structure “while”
Exemple : calcul de la partie entière d‟un réel positif
x = eval(input())
n = 0
while n+1 <= x:
n += 1
print("la partie entière de",x,"est",n)
IA - S1

Déroulement du programme :
◼ Admettons que l‟utilisateur saisisse la valeur 2.57
◼ Avant les itérations, la variable n est initialisée à 0.
◼ La conditionnelle est alors vraie donc on réalise la première itération, et
n vaut maintenant 1.
◼ La conditionnelle est encore vraie donc on réalise la seconde itération,
et n vaut maintenant 2.
FATEH

◼ Cette fois-ci la conditionnelle est fausse et l‟on stoppe les itérations. 50


Structures itératives
Imbrication de structures itératives
◼ L‟imbrication de structures itératives est non seulement possible
mais souvent fort utile.
◼ À noter que l‟on peut également imbriquer structures itératives et
structures conditionnelles.

Exemple : affichage de toutes les tables de multiplications


for i in range(1,11):
IA - S1

print("table de",i)
for j in range(1,11):
print("\t",j,"*",i,"=",j*i)

La variable “i” vaut d‟abord 1, et alors “j”


prend toutes les valeurs de 1 à 10, puis
“i” vaut 2 et “j” prend de nouveau toutes
les valeurs de 1 à 10, etc.
FATEH

20
Structures itératives
Sorties de boucles
Deux possibilités pour “sortir” d’une boucle :
◼ “break” : cette commande permet la sortie de la structure itérative
“for” ou “while” qui la contient.
◼ “continue” : cette commande permet de passer directement à
l’itération suivante dans la structure “for” ou “while” qui la contient.

Exemple de “break” : où l‟on félicite l‟utilisateur s‟il saisit un „x‟ en au


IA - S1

plus 10 tentatives.

for i in range(9):
if input() == 'x':
print("quel talent")
break
FATEH

21
Structures itératives
Sorties de boucles

Exemple de “continue” : affichage de tous les nombres de


10 à 20 sauf le nombre 13.

for i in range(10,21):
if i == 13:
continue
IA - S1

print(i)
FATEH

22
Structures itératives
Clause “else” dans une boucle

◼ Les structures “for” et “while” peuvent contenir une clause “else”.


◼ À noter que celle-ci ne sera exécutée que si la sortie de la boucle
s‟effectue de façon normale, c‟est-à-dire sans “break”.

Syntaxe de la structure “for” avec clause “else” :

for var in range(début,fin,pas):


IA - S1

bloc d’instructions à répéter


pendant que var prend les valeurs de la
plage définie par range
else:
bloc d’instructions à exécuter (une fois)
quand var a pris toutes les valeurs de la
plage définie par range
FATEH

23
Structures itératives
Clause “else” dans une boucle
Syntaxe de la structure “while” avec clause “else” :
while conditionnelle:
bloc d’instructions à exécuter tant que la
conditionnelle est vraie
else:
bloc d’instruction à exécuter (une fois) si
la conditionnelle est fausse
IA - S1

Exemple : savoir si un nombre n saisi par l‟utilisateur est un nombre


premier ou non
n = eval(input())
for i in range(2,n):
if n%i == 0:
premier = False
break
else:
FATEH

premier = True
24
Structures itératives
Exercices

Exercice : écrire un programme calculant la somme des premiers entiers


naturels jusqu‟à un entier positif saisi par l‟utilisateur.

Solution :

n = -1
IA - S1

while n < 0:
n = eval(input())
somme = 0
for i in range(n+1):
somme += i
print("la somme des",n,"premiers entiers
vaut",somme)
FATEH

25
Structures itératives
Exercices

Exercice : écrire un programme calculant la somme d‟une suite


d‟entiers saisie par l‟utilisateur se terminant par 0 (exemple 5, 4, 9,
0 renverra 18).

Solution :
IA - S1

somme,n = 0,1
while n != 0:
n = eval(input())
somme += n
print("la somme des entiers saisis vaut",somme)
FATEH

26
Les structures de contrôle
Zip et map
▪ zip : permet de parcourir plusieurs séquences en parallèle
L1 = [1, 2, 3]
1 4 -- 5
L2 = [4, 5, 6]
2 5 -- 7
for (x, y) in zip(L1, L2):
3 6 -- 9
print (x, y, '--', x + y)
IA - S1

▪ map : applique une méthode sur une ou plusieurs séquences


def double(x):
return x*2

L=[1,2,3,4,5,6,7,8,9]
map(double,L)
[2,4,6,8,10,12,14,16,18]
FATEH

27

Vous aimerez peut-être aussi