[Mise à jour le :3/7/2022]
and | continue | finally | is | raise |
as | def | for | lambda | return |
assert | del | from | None | True |
async | elif | global | nonlocal | try |
await | else | if | not | while |
break | except | import | or | with |
class | False | in | pass | yield |
if test1: <bloc d'instruction 1> elif test2: <bloc d'instruction 2> elif test3: <bloc d'instruction 3> ... else: <bloc d'instruction n>
L'expression contenue dans le test est exécutée. Elle produit un objet sur lequel Python appelle la fonction built-in bool(objet).
Selon l'objet renvoyé :
ou
Exemples d'expressions
d = {'marc':10} if d: # dictionnaire non vide, on affiche print(d) # Résulat {'marc': 10}
a=10;b=12 if a != b: print('La cimparaison est fausse')
if 'a' in 'marc': print('ok') # Résultat : ok
s='123' if s.isdecimal(): print(2*int(s)) # Résultat : 246
s='123' if '1' in s and s.isdecimal(): print(2*int(s)) # Résultat : 246
Les instructions de contrôle utilisent des opérateurs logiques et de comparaison.
Les opérateurs de comparaison permettent de réaliser les conditions placées dans les structures de contrôle (prédicats).
égal | supérieur | inférieur | supérieur ou égal | inférieur ou égal | différent | se situe dans |
---|---|---|---|---|---|---|
== | > | < | >= | ⇐ | != | in |
Exemple
a >=5 # se traduit par a supérieur ou égal à 5 5<=a<=10 # pour un intervalle
Les opérateurs not, or et and sont utilisés pour combiner des conditions.
Exemple
a >=5 and a<=10 # à placer dans un test comme dans l'exemple ci-dessous
Ce type d'instruction permet au code de suivre différents chemins.
Syntaxe
if prédicat: bloc de code 1 # si le prédicat est vrai alors on exécute le bloc de code 1 else: bloc de code 2 # sinon on exécute le bloc de code 2
Exemple 1 : comparaison d'une variable à une valeur
a=5 if a<10: print("C'est vrai") else: print("c'est faux") # Résultat : C'est vrai
Exemple 2 : utilisation de in
chaine = "Bonjour. Comment allez-vous ?" for lettre in chaine: if lettre in "AEIOUYaeiouy": # lettre est une voyelle print(lettre) else: # lettre est une consonne print("*")
Syntaxe
if prédicat 1: bloc de code 1 # si le prédicat 1 est vrai alors on exécute le bloc de code 1 elif prédicat 2: bloc de code 2 # sinon si le prédicat 2 est vrai alors on exécute le bloc de code 2 else: bloc de code 3 # sinon on exécute le bloc de code 3
Exemples
a=5 if a<0: print("a est positif est inférieur à 5") elif a >=5 and a<=10: print("a appartient à [5,10]") elif a >10 and a<=20: print("a appartient à [11,20]") else: print("a est supérieur à 20") # Résultat : a appartient à [5,10]
mot = input("Saisissez un mot: ") if 'e' in mot: print("Le mot",mot,"contient le caractère 'e'.") else: print("Le mot",mot,"ne contient pas le caractère 'e'.")
Exemple
if condition: pass # pass remplace un bloc de code que l'on a supprimé. Cette instruction évite d'inverser le test else: action(s)
Ce type d'instruction permet au programme de répéter, de compter ou d'accumuler avec très peu d'instructions.
Syntaxe
while prédicat: bloc de code # le bloc de code est # exécuté tant que la condition est vraie
Exemple 1
compteur = 0 # Initialisation de la variable utilisée dans la boucle while compteur < 10: print(compteur) # Résultat : 0 1 2 3 4 5 6 7 8 9 compteur = compteur + 1 # Cette instruction assure l'arrêt de la boucle pour compteur = 10
Exemple 2
while True: bloc de code # cette boucle ne se termine jamais ! Cette structure est utilisée dans quelques cas particuliers.
L'instruction for element in sequence permet d'itérer sur une collection de données, tels une liste ou un dictionnaire.
element est une variable créée par for. Elle prend successivement chacune des valeurs figurant dans la séquence parcourue.
Syntaxe
for nom_variable in collection: bloc de code
Exemple
ma_liste = ["chien", "chat", "souris", "cheval"] for x in ma_liste: print(x) # A chaque itération x prend la valeur pointée dans la liste, # la variable de boucle est gérée automatiquement. # Résultat affiché dans la console : chien chat souris cheval
Syntaxe
for variable in range(début, fin, pas): # au premier tour de boucle variable = début # à chaque tour variable = variable + pas # la boucle s'arrête lorsque variable = fin
Exemple 1 : boucle for avec un seul paramètre
# cas particulier : si la variable n'est pas utilisée, on peut la remplacer par _ for _ in range(3): print("A") # Affichage A A A
# Avec un indice (ou compteur) de boucle for i in range(3): print(i) # Affichage : 0 1 2
Exemple 2 : boucle for avec deux paramètres
for i in range(1,4): print(i) # la première valeur de i est 1, la boucle s'arrête pour i=4 # Affichage : 1 2 3
Exemple 3 : boucle for avec trois paramètres
for i in range(1,11,2): print(i) # la première valeur de i=1, l'incrément est 2, la boucle s'arrête à 11 # Affichage : 1 3 5 7 9
Exemple
while 1: # 1 est toujours vrai -> boucle infinie lettre = input("Entrer Q pour quitter : ") if lettre=="Q": print("Fin de boucle !") break
Exemple
i=1 while i<20: if i%3 == 0: i = i + 4 # on incrémente i de 4 print("i est maintenant égale à",i) continue # retourne au while sans exécuter les lignes ci-dessous print("La variable i =",i) i = i + 1 # si i%3!=0 on incrémente i de 1
Exemple
liste = list(range(10)) print('avant', liste) while liste.pop() != 5: pass print('après', liste)
Exemples
lst=['a','b','c','d','e','f','g','h','i'] for compteur, valeur in enumerate(lst): print(compteur, valeur) # Résultat : 0 a 1 b 2 c etc.
On peut fixer la première valeur de la variable compteur.
lst = ['apple', 'banana', 'grapes', 'pear'] for compteur, valeur in enumerate(lst, 1): print(compteur, valeur) # Résultat # 1 apple # 2 banana # 3 grapes # 4 pear
lst = [ ['a','b','c','d'], ['e','f','g','h'], ['i','j','k','l'], ['m','n','o','p'], ] for x, ligne in enumerate(lst): print(x,ligne) for y, val in enumerate(ligne): print(x,y,val) # Résultat # 0 ['a', 'b', 'c', 'd'] # 0 0 a # 0 1 b # 0 2 c # 0 3 d etc.
lst=['a','b','c','d','e','f','g','h','i'] list(enumerate(lst,1)) # Résultat [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'), (8, 'h'), (9, 'i')]