II. Les tests conditionnels

Principe

Dans un test conditionnel, on évalue une expression logique et on exécute un groupe d'instructions si l'expression évaluée est vraie.

Illustration

Dans l'illustration donnée ci-dessous, on évalue l'expression logique "divisible par 3" , cette
expression peut prendre les valeurs "vrai" ou "faux".

VRAI FAUX


Syntaxe

Un test conditionnel commence par le mot-clé if suivi de l'expression logique à évaluer, la ligne se termine par ":". Le bloc indenté qui suit la première ligne correspond aux instructions à exécuter si la valeur du test est vrai.

Les mot-clés optionnels else et elif permettent d'exécuter en alternative des groupes d'instructions.

Exemples

Exemple 1

Dans le programme ci-dessous, la fonction recherche(mot) renvoie l'index du mot
recherché si ce mot est inclus dans la chaîne de caractères nomée brin.

Exécuter le programme ci-dessus, puis, appeler recherche("TCA"), puis, recherche("chat")
puis, recherche("TAG") dans la console ci-dessous. Ne pas oublier les guillemets !

 
				

Exemple 2

Exécuter le programme ci-dessus, puis, appeler plusieurs fois la fonction pileouface() dans
la console ci-dessous. On remarque que cette fonction ne prend pas de paramètres.

 
				

Exemple 3

Un cinéma propose deux formules tarifaires :

Tarif A : un abonnement de 30 euros puis, un prix de 4 euros par séance.

Tarif B : sans abonnement avec un prix de 6 euros par séance.

Exécuter le programme ci-dessus, puis, appeler tarif(5), tarif(15) puis, tarif(20).

 
				

Exercices:

Exercice 1

Dans le programme suivant, on souhaite tester si le paramètre n est :

à la fois divisible par 3 et supérieur ou égal à 15.

Ce programme contient trois erreurs de syntaxe.

Après avoir corrigé les erreurs, exécuter le programme, puis appeler plusieurs
fois la fonction divi pour différentes valeurs du paramètre n dans la console.
Vérifier la cohérence des résultats renvoyés.

 
				
- et se traduit par and et non or

- l'indentation de la troisième ligne n'est pas respectée.

- On écrit False et non false.

Exercice 2

Ecrire une fonction jeux() permettant de simuler le lancer d'un dé à six faces, puis de :

renvoyer "bravo" si le nombre sorti est strictement inférieur à 3 ou égal à 6.

renvoyer "perdu" dans les autres cas.

Ne pas oublier d'importer le module nécessaire !

Exécuter le programme ci-dessus puis, appeler plusieurs fois la fonction jeux().

 
				

Exercice 3

L'indice de masse corporelle est calculé en divisant le poids (exprimé en kilos)
par la taille au carré (exprimée en mètres). Programmer une fonction imc(poids, taille)
prenant en paramètres le poids et la taille. Cette fonction imc devra renvoyer le message:

"corpulence insuffisante" si: imc <= 18.5

"corpulence normale" si: imc > 18.5 et imc < 25

"surpoids" si: imc >= 25 et imc < 30

"surpoids important" si: imc >= 30

Vous utiliserez les trois mots-clé : "if", "elif" et "else".

Exécuter votre programme, puis appeler imc(50, 1.65), puis imc(70, 1.75) dans la console.

 
				

Digression numérique

La représentation artisitique de donnée par Martin Krzywinski

Martin Krzywinski est un scientifique qui travaille sur la visualisation de données appliquée à la recherche sur le cancer et à l'analyse du génome, il utilise également ses compétences en visualisation de données pour créer des illustrations basées sur les décimales de π.

Outre l'aspect artistique, ses oeuvres mettent en relief certaines propriétés des données représentées. Dans l'oeuvre ci-contre, le point de Feynman, où le chiffre 9 apparaît six fois de suite dans le développement décimal de π peut être repéré dans le coin inférieur droit.

La propritété de normalité de π y est également illustrée.

Nous pouvons produire de telles représentations en utilisant notamment des tests conditionnels
associant une couleur spécifique à chaque décimale 0, 1, 2 , 3 ...

Site de Martin Krzywinski science: beautiful