logo

Tests conditionnels

Une instruction conditionnelle permet à un programme d’exécuter des instructions selon qu'une condition est réalisée ou non.

Par exemple, exécutez le programme ci-dessous : si vous avez le bon mot de passe on vous souhaitera la bienvenue.

a=input("saississez votre mot de passe")
if (a=="ab10"):
	print "bienvenue !"
else:
	print "MOT DE PASSE INVALIDE"

 

Comment cela fonctionne-t-il ?

La variable a reçoit la chaîne de caractères entrée par l'utilisateur.

L'expression a=="ab10" est un test qui détermine si la variable a contient la chaîne de caractères « ab10 ». Si c'est le cas le résultat du test est « vrai » (true), dans le cas contraire le résultat du test est « faux » (false).

Notez qu'un test d'égalité se code en doublant le signe = pour le distinguer du simple = utilisé pour affecter une valeur à une variable.

Pour indiquer les instructions à réaliser selon que le résultat d'un test est true ou false nous utilisons une structure qui se présente sous la forme :

if( condition1 ):
	retrait//instructions à réaliser si la condition1 est vérifiée (true)
elif ( condition2 ):
	retrait//instructions à réaliser si la condition1 est non vérifiée (false) et la condition2 est vérifiée (true)
else:
	retrait//instructions à réaliser si toutes les codtions précédentes sont non vérifiées (false)

En Python, on utilise l'indentation rigoureuse : les blocs d'instructions débutent par un nouveau niveau d'indentation et se terminent par un changement d'indentation.

Enfin la partie else est facultative.

S'il y a plusieurs conditions, on peut utiliser des instructions elif

Construction des tests

Opérateurs

Un test permet de comparer deux valeurs entre elles en utilisant les opérateurs suivants :

Opérateur Signification
==Egalité
!=Différence
>Strictement supérieur
>=Supérieur ou égal
<Strictement inférieur
<=Inférieur ou égal

Exercice

Ecrire un programme qui détermine si un nombre entré par un utilisateur est positif ou négatif (on considérera que 0 est positif).


 

Voir une solution

Combinaison de tests

Pour exprimer certaines conditions il faut combiner plusieurs tests en utilisant les mots logiques :

Dans l'exemple suivant le programme sélectionne les garçons dont l'âge est compris entre 12 et 18 ans inclus, et met sur liste d'attente les garçons entre 18 et 20 ans.

sexe=input("Fille ou garcon ? Entrez la lettre f ou g")
age=int(input("Entrez votre age"))
if(age>12 and age<=18 and sexe=="g"):
	print "Vous etes selectionne !"
elif (age>18 and age<20 and sexe=="g"):
	print "Vous etes sur liste d'attente"
else:
	print "Vous etes refuse !"

 

Exercices

A vous de jouer !

Utiliser la console pour écrire ton code :


Dans un magasin une ristourne de :

Ecrire un programme qui à partir du prix d'un objet, affiche son prix avec remise.

Voir une solution