Python 3 : Les bases
II – Instructions conditionnelles
Dans le déroulement d'un algorithme, certaines instructions ne sont exécutées que si une condition a été satisfaite auparavant. La condition est une comparaison entre 2 valeurs du même type.
En langage mathématique, les opérateurs de comparaison sont =, ≠, <, >, ≤, ≥.
En langage Python, ces opérateurs de comparaison s'écrivent ==, !=, <, >, <=, >=.
• Si ... alors ...
En langage Python, l'instruction s'écrit : if condition:
Le bloc d'instruction qui suit le if sera placé en dessous et décalé d'une tabulation (en général 3 ou 4 caractères). On dit que les instructions sont indentées.
Si ... alors ... (instruction Python)
# Saisie d'une chaîne de caractères
mot_de_passe = input("Entrer le mot de passe.")
# Test de la validité du mot de passe qui est sesame
# Si le mot de passe proposé est correct alors le message s'affiche sinon le programme
# se termine
if mot_de_passe == "sesame":
print("Merci. Vous pouvez entrer.")
Remarque : Le langage Python est sensible à la casse. Les chaînes de caractères Sesame et sesame sont différentes.
La condition peut comporter plusieurs tests.
Les opérateurs logiques reliant ces tests sont ET, OU.
- (condition1) ET (condition2) vraie signifie que condition1 est vraie et que condition2 est vraie.
- (condition1) OU (condition2) vraie signifie que condition1 est vraie ou que condition2 est vraie, ou que les 2 conditions sont vraies.
En langage Python, ET s'écrit and et OU s'écrit or.
ET, OU (instruction Python)
# Tester si un nombre est compris entre 2 valeurs données
nombre = float(input("Entrer un nombre."))
# On teste si le nombre est compris entre 1 et 2
if nombre >=1 and nombre<=2:
print("Le nombre appartient à [1;2].")
# On teste si le nombre appartient à ]-infini;1[ U ]2;+infini[
if nombre <1 or nombre>2:
print("Le nombre appartient à ]-infini;1[ U ]2;+infini[.")
• Si ... alors ... sinon
En langage Python, l'instruction s'écrit :
if condition:
instructions
else:
instructions
Si ... alors ... sinon (instruction Python)
# Saisie d'une chaîne de caractères
mot_de_passe = input("Entrer le mot de passe.")
# Test de la validité du mot de passe qui est sesame
# Si le mot de passe proposé est correct alors le message s'affiche sinon le programme
# se termine
if mot_de_passe == "sesame":
print("Merci. Vous pouvez entrer.")
else:
print("Désolé. Le mot de passe proposé est incorrect.")
• Branchement conditionnel
En langage Python, l'instruction s'écrit :
if condition:
instructions
elif condition:
instructions
…
else: (le else est facultatif mais assure de traiter tous les cas)
instructions
Branchement conditionnel (instruction Python)
# On stocke l'âge de l'utilisateur dans la variable age
age = int(input("Entrer votre age."))
# Branchement conditionnel en fonction de l'âge donné
if age < 3:
print("Vous êtes un bébé.")
elif age>=3 and age<12:
print("Vous êtes un enfant.")
elif age>=12 and age<18:
print("Vous êtes un adolescent.")
else:
print("Vous êtes un adulte.")