3- Les conditions

Les conditions

Nous allons maintenant étudier une structure fondamentale en programmation le « si …… alors…….sinon……..».

L’idée de base est la suivante :

si expression:
	suite_instruction1
sinon:
	suite_instruction2			

Si « expression » est True alors « suite_instruction1 » est exécuté et « suite_instruction2 » est ignoré.

Sinon (sous-entendu que « expression » est False) « suite_instruction2 » est exécuté et « suite_instruction1 » est ignoré.

Notez l’indentation «suite_instruction1» et de « suite_instruction2»

À faire vous-même 20

Soit le programme suivant :

a = 4
b = 7
if a < b:
	print("Je suis toto.");
	print("Je n'aime pas titi.")
else:
	print("Je suis titi.")
	print("Je n'aime pas toto.")
print("En revanche, j'aime le Python.")			

Quel est le résultat attendu après l’exécution de ce programme ?

Vérifiez votre hypothèse en testant le programme.


À faire vous-même 21

Écrire une fonction qui prend en paramètre un age. Si age est supérieur ou égal à 18 ans, la fonction devra renvoyer la chaîne de caractères « Bonjour, vous êtes majeur. ». Si age est inférieur à 18 ans, la fonction devra renvoyer « Bonjour, tu es mineur. »


À faire vous-même 22

Soit le programme suivant :

def annonce(num, prov, dest):
	if dest != "0":
		msg = f"le train n° {num} en provenance de {prov} et à destination de {dest}, entre en gare."
	else:
		msg = f"le train n° {num} en provenance de {prov} entre en gare. Ce train est terminus Triffouillis-les-Oies."
	return msg			

Quel est le résultat attendu après l’exécution de ce programme si vous saisissez dans la console « annonce(« 4557 », « Paris », « Marseille ») » ? Et si vous saisissez dans la console « annonce(« 5768 », « Bonneville », « 0 ») » ? Vérifiez votre réponse en testant ce programme.


À faire vous-même 23

Vous êtes gérant d’un magasin et vous désirez écrire un programme Python qui calculera automatiquement le montant de la facture des clients. Tout client qui achète au moins 5 fois le même article se voit octroyer une remise de 5 % (uniquement sur le montant de l’achat de cet article). Afin de simplifier le problème, on considère qu’un client n’achète qu’un seul type d’article. Écrire une fonction qui prend en paramètre le prix unitaire de l’article et le nombre d’articles achetés. Cette fonction doit renvoyer le montant de la facture.


Le « ou » et le « et »

Un if peut contenir plusieurs conditions, nous aurons alors une structure de la forme :

si expression1 op_logique expression2:
	suite_instruction1
sinon:
	suite_instruction2			

« op_logique » étant un opérateur logique.

Nous allons étudier 2 opérateurs logiques : le « ou » (noté en Python « or« ) et le « et » (noté en Python « and« ).

Par exemple (expression1 or expression2) est vrai si expression1 est vraie et expression2 est vraie.

Autre exemple (expression1 and expression2) est faux si expression1 est vraie et expression2 est faux.

Les résultats peuvent être regroupés dans ce que l’on appelle une table de vérité :

expression1expression2expression1 or expression2
vraivraivrai
vraifauxvrai
fauxvraivrai
fauxfauxfaux
expression1expression2expression1 and expression2
vraivraivrai
vraifauxfaux
fauxvraifaux
fauxfauxfaux

À faire vous-même 24

Soit le programme suivant :

a = 5
b = 10
if a > 5 and b == 10:
	print ("Toto")
else:
	print("Titi")
if a > 5 or b == 10:
	print ("Tata")
else:
	print("Tutu")			

Quel est le résultat attendu après l’exécution de ce programme ? Vérifier votre réponse en testant ce programme.

Suite : La boucle while