SlideShare une entreprise Scribd logo
Utilisation des conditions et
boucles
Exemple 1
• Quelle est la sortie du code suivant ?
Deco = {'foo': 1, 'bar': 2, 'baz': 3}
if 'bar' in deco :
print(1)
print(2)
if 'a' in 'qux':
print(3)
print(4)
Sortie 1 2 4
Exemple 2
d = {'a': 0, 'b': 1, 'c': 0}
if d['a'] > 0:
print('yeah !')
elif d['b'] > 0:
print('yeah !')
elif d['c'] > 0:
print('ok')
elif d['d'] > 0:
print('ok')
else:
print('not ok')
Les conditions
• Python nous fournit les structures conditionnelles suivantes :
• La condition if (“si”) ;
• La condition if…else (“si…sinon”) ;
• La condition if…elif…else (“si…sinon si… sinon”) .
IF
• Exercice 1 : Écrivez un programme qui demande à l'utilisateur
de saisir un nombre et affiche "Positif" si le nombre est
supérieur à zéro, "Nul" s'il est égal à zéro, et "Négatif" s'il est
inférieur à zéro.
• Exercice 2 : Écrivez un programme qui demande à l'utilisateur
de saisir trois nombres et affiche le plus grand des trois.
• Exercice 3 : Écrivez un programme qui demande à l'utilisateur
de saisir une année et vérifie si elle est bissextile. Une année
est bissextile si elle est divisible par 4, sauf si elle est divisible
par 100. Toutefois, les années divisibles par 400 sont
bissextiles. Affichez "Bissextile" ou "Non bissextile" en
conséquence.
nombre = input("Saisissez un nombre : ")
if nombre > 0:
print("Positif")
elif nombre == 0:
print("Nul")
else:
print("Négatif")
nombre1 = float(input("Saisissez le premier nombre : "))
nombre2 = float(input("Saisissez le deuxième nombre : "))
nombre3 = float(input("Saisissez le troisième nombre : "))
plus_grand = nombre1
if nombre2 > plus_grand:
plus_grand = nombre2
if nombre3 > plus_grand:
plus_grand = nombre3
print("Le plus grand nombre est :", plus_grand)
Reste de la division
A=5
B=2
C=A/B
A=int (input(‘’Donner un nombre’’) 8
B=int (input(‘’Donner un nombre’’) 3
C=A/B
C=2
D=A%B =2
annee = int(input("Saisissez une année : "))
if annee % 400 == 0:
print("Bissextile")
elif annee % 100 == 0:
print("Non bissextile")
elif annee % 4 == 0:
print("Bissextile")
else:
print("Non bissextile")
Nb=int(input(‘’donner le nombre de valeur’’))
j=0
i=0
While j<Nb:
a[j]= int(input(‘’donner le nombre nombe’’))
j=j+1
While i<Nb:
print(a[i])
i=i+1
Execution
Nb=4 , j=3
a 9 1 3 5
Exercice
• Maximum d’un tableau
Choisissez la boucle
adéquate
• Les boucles for vont être utilisées lorsque l’on sait par avance
le nombre de fois où une action va être répétée.
a = ['foo', 'bar', 'baz', 'qux', 'corge’]
while a:
if len(a) < 3:
break
print(a.pop())
print('Done.’)
Pop –> retirer un element
Exemple 1
La logique de for
La boucle for via une valeur itérative entière
• Si l’on veut vraiment boucler via une valeur itérative entière en Python pour revenir à
une boucle for plus classique en termes de programmation, on va en réalité devoir
contourner le problème. Vous allez itérer au travers d’une liste qui contiendra les
différentes valeurs de votre entier itératif. Pour cela, vous utiliserez la fonction
range(début, fin, pas), qui va générer une liste de nombres selon trois paramètres :
• début : le premier nombre de la séquence;
• fin : correspond au dernier nombre de la séquence non inclus. La fonction va générer
des nombres de début à fin- 1;
• pas : le pas entre chaque nombre généré.
• Range ()
for i in range(0, 5, 1):
print(i) # -> affiche de 0 à 4 par pas de 1 (fin - 1)
for i in range(0, 5):
print(i) # -> affiche de 0 à 4 également (le pas par défaut est 1)
for i in range(5):
print(i) # -> affiche de 0 à 4 également (le début par défaut est 0)
for i in range(0, 5, 2):
print(i) # -> affiche 0, 2 puis 4
La boucle conditionnelle est la
boucle while en Python.
• "While" en anglais signifie "tant que", et comme vous pouvez le
deviner par le nom, la boucle va tourner tant qu’une condition
est réalisée. C’est une sorte de combinaison entre une boucle
for et une structure if. Le nombre de répétitions n’est pas
défini à l’avance, mais via une condition à réaliser, comme avec
un if. On appelle cela une boucle conditionnelle.
• Passez certaines instructions au sein de votre boucle :
continue
• Vous pouvez aussi décider d’interrompre la boucle, lorsque par
exemple on cherche un élément particulier dans une liste. Pour cela,
vous utiliserez le mot clé break
La clause else dans une boucle
• La clause else dans un boucle permet de définir un bloc d’instructions qui
sera exécuté à la fin seulement si la boucle s’est déroulée complétement
sans être interrompue par un break.
for n in range(2, 8):
for x in range(2, n):
if n % x == 0:
print(n, "egale", x, "*", n/x)
break
else:
print(n, "est un nombre premier")
Boucle while
• Écrivez un programme qui génère les n premiers nombres
premiers, où n est saisi par l'utilisateur.
• Écrivez un programme qui génère les termes de la suite de Collatz
pour un nombre donné. La suite de Collatz est définie comme suit :
pour un nombre n, si n est pair, divisez-le par 2 ; sinon, multipliez-le
par 3 et ajoutez 1. Le programme doit afficher la suite jusqu'à ce que
le nombre atteigne 1
n = int(input("Saisissez la valeur de n : "))
nombres_premiers = []
nombre = 2
while len(nombres_premiers) < n:
est_premier = True
for i in range(2, int(nombre**0.5) + 1):
if nombre % i == 0:
est_premier = False
break
if est_premier:
nombres_premiers.append(nombre)
nombre += 1
print("Les", n, "premiers nombres premiers sont :", nombres_premiers)
nombre = int(input("Saisissez un nombre : "))
while nombre != 1:
print(nombre, end=" ")
if nombre % 2 == 0:
nombre = nombre // 2 # Division entière par 2 (nombre pair)
else:
nombre = nombre * 3 + 1 # Multiplication par 3 et ajout de 1 (nombre
impair)
print(nombre) # Affiche le dernier terme de la suite (1)
Exemple de boucle sur dictionnaire
etudiants = {
'Alice': 18,
'Bob': 20,
'Charlie': 16,
'Dave': 19,
'Eve': 17
}
# Parcourir le dictionnaire et afficher chaque clé et valeur
for nom, age in etudiants.items():
print(nom, "a", age, "ans")
• Exercice : Calcul de la moyenne des valeurs d'un dictionnaire
le dictionnaire (clé:valeur) : 1:15, 2:25, 3:40, 4:45, 5:60
dictionnaire = input("Saisissez le dictionnaire (clé:valeur) : ")
# Conversion de la chaîne de caractères en dictionnaire
dictionnaire = dict(item.split(":") for item in dictionnaire.split(", "))
# Calcul de la moyenne des valeurs du dictionnaire
somme = 0
nombre_valeurs = len(dictionnaire)
for valeur in dictionnaire.values():
somme += int(valeur)
moyenne = somme / nombre_valeurs
print("La moyenne des valeurs est :", moyenne)
QCM
• Comment pouvez-vous modifier la variable num suivante ?
• modification
num[2] = 'two'
num[1] = 'two'
num['two'] = 2
num['two'] = '2'
• Quelle affirmation parmi les 4 suivantes est vraie, vis-à-vis des
listes en Python ?
-Tous les éléments d'une liste doivent être du même type.
-Une liste peut contenir tous types d'objets à l'exception d'une autre liste.
-Ces deux listes sont équivalentes : ['a', 'b', 'c'] et ['c', 'a', 'b'].
-Une liste n'a pas de limite conceptuelle !
• Quelle affirmation parmi les suivantes est fausse
concernant les collections ?
• Un tuple est un objet ordonné.
• Une liste peut être modifiée.
• Un dictionnaire n'est pas mutable.
• Un tuple est défini avec des parenthèses.
Comment peut-on interrompre une boucle prématurément ?
-Via le mot clé continue
-Via l'opérateur :
-Via le mot clé stop
-Via le mot clé break
• Les codes suivants concernent différentes actions possibles
avec des listes. Sélectionnez les blocs contenant des actions
correctes parmi ceux ci-dessous :
• Colors.insert(2,’RED’);
Rappel
• une liste est un tableau ordonné, modifiable, où chaque
élément est associé à un indice ;
• un dictionnaire est un tableau non ordonné, modifiable, où
chaque élément est associé à une clé ;
• un tuple est un tableau ordonné, non mutable, où chaque
élément est associé à un indice ;
• Un dictionnaire est donc bel et bien modifiable : il est donc
mutable.

Contenu connexe

Similaire à condition et boucle (2).pptx

Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdfCours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
triocom223
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
mohamedAitomar1
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
mohamedAitomar1
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
olfaharrabi2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
ABID Mehdi
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
Facebokma
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
WajihBaghdadi1
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
ECAM Brussels Engineering School
 
Ns python 1
Ns python 1Ns python 1
Ns python 1
Olivier Rovellotti
 
Cours tp2
Cours tp2Cours tp2
Cours tp2
Mohamed MHAMDI
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
AdjimbawNDIAYE
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
Mariem ZAOUALI
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
EmnaBenSaid2
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
salah fenni
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
Nanchi6
 

Similaire à condition et boucle (2).pptx (20)

Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdfCours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
Cours Pratique en PYTHON - Tableaux et conteneur - Python1.pdf
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
 
Le langage C
Le langage CLe langage C
Le langage C
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Cours c#
Cours c#Cours c#
Cours c#
 
Algorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptxAlgorithmique&Langage C Partie-2 BTS.pptx
Algorithmique&Langage C Partie-2 BTS.pptx
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Ns python 1
Ns python 1Ns python 1
Ns python 1
 
Cours tp2
Cours tp2Cours tp2
Cours tp2
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
 
Video
VideoVideo
Video
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
cour informatique niveau3 programmation en Python.pdf
cour informatique niveau3 programmation en  Python.pdfcour informatique niveau3 programmation en  Python.pdf
cour informatique niveau3 programmation en Python.pdf
 

Dernier

Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 

Dernier (13)

Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 

condition et boucle (2).pptx

  • 2. Exemple 1 • Quelle est la sortie du code suivant ? Deco = {'foo': 1, 'bar': 2, 'baz': 3} if 'bar' in deco : print(1) print(2) if 'a' in 'qux': print(3) print(4) Sortie 1 2 4
  • 3. Exemple 2 d = {'a': 0, 'b': 1, 'c': 0} if d['a'] > 0: print('yeah !') elif d['b'] > 0: print('yeah !') elif d['c'] > 0: print('ok') elif d['d'] > 0: print('ok') else: print('not ok')
  • 4. Les conditions • Python nous fournit les structures conditionnelles suivantes : • La condition if (“si”) ; • La condition if…else (“si…sinon”) ; • La condition if…elif…else (“si…sinon si… sinon”) .
  • 5. IF • Exercice 1 : Écrivez un programme qui demande à l'utilisateur de saisir un nombre et affiche "Positif" si le nombre est supérieur à zéro, "Nul" s'il est égal à zéro, et "Négatif" s'il est inférieur à zéro. • Exercice 2 : Écrivez un programme qui demande à l'utilisateur de saisir trois nombres et affiche le plus grand des trois. • Exercice 3 : Écrivez un programme qui demande à l'utilisateur de saisir une année et vérifie si elle est bissextile. Une année est bissextile si elle est divisible par 4, sauf si elle est divisible par 100. Toutefois, les années divisibles par 400 sont bissextiles. Affichez "Bissextile" ou "Non bissextile" en conséquence.
  • 6. nombre = input("Saisissez un nombre : ") if nombre > 0: print("Positif") elif nombre == 0: print("Nul") else: print("Négatif")
  • 7. nombre1 = float(input("Saisissez le premier nombre : ")) nombre2 = float(input("Saisissez le deuxième nombre : ")) nombre3 = float(input("Saisissez le troisième nombre : ")) plus_grand = nombre1 if nombre2 > plus_grand: plus_grand = nombre2 if nombre3 > plus_grand: plus_grand = nombre3 print("Le plus grand nombre est :", plus_grand)
  • 8. Reste de la division A=5 B=2 C=A/B A=int (input(‘’Donner un nombre’’) 8 B=int (input(‘’Donner un nombre’’) 3 C=A/B C=2 D=A%B =2
  • 9. annee = int(input("Saisissez une année : ")) if annee % 400 == 0: print("Bissextile") elif annee % 100 == 0: print("Non bissextile") elif annee % 4 == 0: print("Bissextile") else: print("Non bissextile")
  • 10. Nb=int(input(‘’donner le nombre de valeur’’)) j=0 i=0 While j<Nb: a[j]= int(input(‘’donner le nombre nombe’’)) j=j+1 While i<Nb: print(a[i]) i=i+1 Execution Nb=4 , j=3 a 9 1 3 5
  • 13. • Les boucles for vont être utilisées lorsque l’on sait par avance le nombre de fois où une action va être répétée.
  • 14. a = ['foo', 'bar', 'baz', 'qux', 'corge’] while a: if len(a) < 3: break print(a.pop()) print('Done.’) Pop –> retirer un element Exemple 1
  • 16. La boucle for via une valeur itérative entière • Si l’on veut vraiment boucler via une valeur itérative entière en Python pour revenir à une boucle for plus classique en termes de programmation, on va en réalité devoir contourner le problème. Vous allez itérer au travers d’une liste qui contiendra les différentes valeurs de votre entier itératif. Pour cela, vous utiliserez la fonction range(début, fin, pas), qui va générer une liste de nombres selon trois paramètres : • début : le premier nombre de la séquence; • fin : correspond au dernier nombre de la séquence non inclus. La fonction va générer des nombres de début à fin- 1; • pas : le pas entre chaque nombre généré. • Range ()
  • 17. for i in range(0, 5, 1): print(i) # -> affiche de 0 à 4 par pas de 1 (fin - 1) for i in range(0, 5): print(i) # -> affiche de 0 à 4 également (le pas par défaut est 1) for i in range(5): print(i) # -> affiche de 0 à 4 également (le début par défaut est 0) for i in range(0, 5, 2): print(i) # -> affiche 0, 2 puis 4
  • 18. La boucle conditionnelle est la boucle while en Python. • "While" en anglais signifie "tant que", et comme vous pouvez le deviner par le nom, la boucle va tourner tant qu’une condition est réalisée. C’est une sorte de combinaison entre une boucle for et une structure if. Le nombre de répétitions n’est pas défini à l’avance, mais via une condition à réaliser, comme avec un if. On appelle cela une boucle conditionnelle. • Passez certaines instructions au sein de votre boucle : continue • Vous pouvez aussi décider d’interrompre la boucle, lorsque par exemple on cherche un élément particulier dans une liste. Pour cela, vous utiliserez le mot clé break
  • 19. La clause else dans une boucle • La clause else dans un boucle permet de définir un bloc d’instructions qui sera exécuté à la fin seulement si la boucle s’est déroulée complétement sans être interrompue par un break. for n in range(2, 8): for x in range(2, n): if n % x == 0: print(n, "egale", x, "*", n/x) break else: print(n, "est un nombre premier")
  • 21. • Écrivez un programme qui génère les n premiers nombres premiers, où n est saisi par l'utilisateur. • Écrivez un programme qui génère les termes de la suite de Collatz pour un nombre donné. La suite de Collatz est définie comme suit : pour un nombre n, si n est pair, divisez-le par 2 ; sinon, multipliez-le par 3 et ajoutez 1. Le programme doit afficher la suite jusqu'à ce que le nombre atteigne 1
  • 22. n = int(input("Saisissez la valeur de n : ")) nombres_premiers = [] nombre = 2 while len(nombres_premiers) < n: est_premier = True for i in range(2, int(nombre**0.5) + 1): if nombre % i == 0: est_premier = False break if est_premier: nombres_premiers.append(nombre) nombre += 1 print("Les", n, "premiers nombres premiers sont :", nombres_premiers)
  • 23. nombre = int(input("Saisissez un nombre : ")) while nombre != 1: print(nombre, end=" ") if nombre % 2 == 0: nombre = nombre // 2 # Division entière par 2 (nombre pair) else: nombre = nombre * 3 + 1 # Multiplication par 3 et ajout de 1 (nombre impair) print(nombre) # Affiche le dernier terme de la suite (1)
  • 24. Exemple de boucle sur dictionnaire etudiants = { 'Alice': 18, 'Bob': 20, 'Charlie': 16, 'Dave': 19, 'Eve': 17 } # Parcourir le dictionnaire et afficher chaque clé et valeur for nom, age in etudiants.items(): print(nom, "a", age, "ans")
  • 25. • Exercice : Calcul de la moyenne des valeurs d'un dictionnaire le dictionnaire (clé:valeur) : 1:15, 2:25, 3:40, 4:45, 5:60
  • 26. dictionnaire = input("Saisissez le dictionnaire (clé:valeur) : ") # Conversion de la chaîne de caractères en dictionnaire dictionnaire = dict(item.split(":") for item in dictionnaire.split(", ")) # Calcul de la moyenne des valeurs du dictionnaire somme = 0 nombre_valeurs = len(dictionnaire) for valeur in dictionnaire.values(): somme += int(valeur) moyenne = somme / nombre_valeurs print("La moyenne des valeurs est :", moyenne)
  • 27. QCM • Comment pouvez-vous modifier la variable num suivante ? • modification num[2] = 'two' num[1] = 'two' num['two'] = 2 num['two'] = '2'
  • 28. • Quelle affirmation parmi les 4 suivantes est vraie, vis-à-vis des listes en Python ? -Tous les éléments d'une liste doivent être du même type. -Une liste peut contenir tous types d'objets à l'exception d'une autre liste. -Ces deux listes sont équivalentes : ['a', 'b', 'c'] et ['c', 'a', 'b']. -Une liste n'a pas de limite conceptuelle !
  • 29. • Quelle affirmation parmi les suivantes est fausse concernant les collections ? • Un tuple est un objet ordonné. • Une liste peut être modifiée. • Un dictionnaire n'est pas mutable. • Un tuple est défini avec des parenthèses.
  • 30. Comment peut-on interrompre une boucle prématurément ? -Via le mot clé continue -Via l'opérateur : -Via le mot clé stop -Via le mot clé break
  • 31. • Les codes suivants concernent différentes actions possibles avec des listes. Sélectionnez les blocs contenant des actions correctes parmi ceux ci-dessous : • Colors.insert(2,’RED’);
  • 32. Rappel • une liste est un tableau ordonné, modifiable, où chaque élément est associé à un indice ; • un dictionnaire est un tableau non ordonné, modifiable, où chaque élément est associé à une clé ; • un tuple est un tableau ordonné, non mutable, où chaque élément est associé à un indice ; • Un dictionnaire est donc bel et bien modifiable : il est donc mutable.