Activités - Les tests conditionnels
2ème année maturité
Objectifs
- Consolider les tests conditionnels :
if,elif,else. - Manipuler les opérateurs de comparaison et les opérateurs logiques
and,or,not. - S'entraîner aux conditions imbriquées.
- Travailler en mode console et avec Turtle.
Structure d'un test conditionnel :
if condition_1 :
# bloc exécuté si condition_1 est vraie
elif condition_2 :
# sinon, si condition_2 est vraie
else :
# dans tous les autres cas
Opérateurs de comparaison :
== (égal), != (différent),
<, <=, >, >=.
= (affecter une valeur) et == (comparer deux valeurs).
Opérateurs logiques :
and (les deux conditions vraies),
or (au moins une vraie),
not (l'inverse).
Chaque côté d'un opérateur logique doit être une condition complète.
Le programme demande un nombre entier et doit dire s'il est positif, négatif ou nul. Complète les trous, puis clique sur Vérifier.
nb = int(input("Donne un nombre entier : "))
if nb 0 :
print("Ce nombre est positif")
nb < 0 :
print("Ce nombre est négatif")
:
print("Ce nombre est nul")
Complète la condition pour tester si la personne a 18 ans ou plus.
age = int(input("Quel est ton âge ? "))
if :
print("Tu es majeur")
else :
print("Tu es mineur")
Un nombre est pair si le reste de sa division par 2 vaut 0. En Python, le reste s'obtient avec %. Complète le test.
nb = int(input("Donne un nombre entier : "))
if :
print("Ce nombre est pair")
else :
print("Ce nombre est impair")
On saisit un nombre dans une boîte de dialogue Turtle. Si le nombre est positif, on dessine un gros point vert ; sinon un point rouge. Complète les couleurs (avec les guillemets).
from turtle import *
nb = numinput("Nombre", "Donne un nombre :")
if nb > 0 :
color()
else :
color()
dot(150)
Le programme lit deux nombres et affiche le plus grand. Complète la condition manquante et la variable à afficher.
a = int(input("Premier nombre : "))
b = int(input("Deuxième nombre : "))
if a > b :
print("Le plus grand est", a)
elif :
print("Le plus grand est", )
else :
print("Les deux nombres sont égaux")
À partir d'une note sur 6, affiche : Excellent (≥ 5.5), Bien (≥ 4.5), Suffisant (≥ 4), sinon Insuffisant. Complète les trous.
note = float(input("Ta note (1 à 6) : "))
if note >= 5.5 :
print("Excellent")
note >= 4.5 :
print("Bien")
elif :
print("Suffisant")
print("Insuffisant")
Écris un programme qui demande un âge et affiche la catégorie : Bébé (moins de 3 ans), Enfant (moins de 12), Adolescent (moins de 18), Adulte (moins de 65), sinon Senior.
age = int(input("Ton âge : "))
if age < 3 :
print("Bébé")
elif age < 12 :
print("Enfant")
elif age < 18 :
print("Adolescent")
elif age < 65 :
print("Adulte")
else :
print("Senior")
Demande une température (nombre entier) et conseille une tenue : Manteau et bonnet si moins de 0°, Une veste si moins de 15°, Un pull léger si moins de 25°, sinon Un t-shirt.
temp = int(input("Température en °C : "))
if temp < 0 :
print("Manteau et bonnet")
elif temp < 15 :
print("Une veste")
elif temp < 25 :
print("Un pull léger")
else :
print("Un t-shirt")
and)
Moyen console à écrire
Pour entrer à une soirée, il faut à la fois avoir 18 ans ou plus et répondre oui à la question de l'invitation. Affiche Tu peux entrer ou Entrée refusée.
Astuce : compare le texte saisi avec invitation == "oui".
age = int(input("Ton âge : "))
invitation = input("As-tu une invitation (oui/non) ? ")
if age >= 18 and invitation == "oui" :
print("Tu peux entrer")
else :
print("Entrée refusée")
or)
Moyen console à écrire
Un cinéma accorde le tarif réduit aux personnes de moins de 12 ans ou de 65 ans et plus. Demande l'âge et affiche Tarif réduit ou Tarif plein.
age = int(input("Ton âge : "))
if age < 12 or age >= 65 :
print("Tarif réduit")
else :
print("Tarif plein")
On saisit un nombre : 1 = rouge, 2 = orange, 3 = vert. Le programme dessine un gros point de la bonne couleur (gris si autre chose). Complète les elif et les couleurs.
from turtle import *
n = numinput("Feu", "1 = rouge, 2 = orange, 3 = vert :")
if n == 1 :
color("red")
n == 2 :
color()
n == 3 :
color()
else :
color("gray")
dot(150)
Demande trois nombres a, b, c et affiche le plus grand. Contrainte : utilise des conditions imbriquées (un if à l'intérieur d'un autre), sans and/or.
Piste : compare d'abord a et b, puis, dans chaque cas, compare le gagnant avec c.
a = int(input("a : "))
b = int(input("b : "))
c = int(input("c : "))
if a >= b :
if a >= c :
print("Le plus grand est", a)
else :
print("Le plus grand est", c)
else :
if b >= c :
print("Le plus grand est", b)
else :
print("Le plus grand est", c)
Demande deux nombres et une opération (+, -, *, /), puis affiche le résultat. Attention : pour la division, il faut d'abord vérifier que le deuxième nombre n'est pas 0 (condition imbriquée). Si l'opération est inconnue, affiche un message.
a = float(input("Premier nombre : "))
op = input("Opération (+, -, *, /) : ")
b = float(input("Deuxième nombre : "))
if op == "+" :
print("Résultat :", a + b)
elif op == "-" :
print("Résultat :", a - b)
elif op == "*" :
print("Résultat :", a * b)
elif op == "/" :
if b == 0 :
print("Impossible de diviser par zéro")
else :
print("Résultat :", a / b)
else :
print("Opération inconnue")
Demande les trois longueurs des côtés d'un triangle et affiche son type : équilatéral (trois côtés égaux), isocèle (exactement deux côtés égaux), sinon quelconque. Utilise and et or.
a = int(input("Côté a : "))
b = int(input("Côté b : "))
c = int(input("Côté c : "))
if a == b and b == c :
print("Triangle équilatéral")
elif a == b or b == c or a == c :
print("Triangle isocèle")
else :
print("Triangle quelconque")
elif ne garde bien que les triangles à exactement deux côtés égaux.L'ordinateur tire un nombre au hasard entre 1 et 100. Le joueur propose un nombre : le programme répond Trop petit, Trop grand ou Bravo, et révèle le nombre secret.
Rappel : pour tirer au hasard, en haut du programme from random import *, puis secret = randint(1, 100).
from random import *
secret = randint(1, 100)
essai = int(input("Devine le nombre (1 à 100) : "))
if essai == secret :
print("Bravo, c'était bien", secret)
elif essai < secret :
print("Trop petit ! C'était", secret)
else :
print("Trop grand ! C'était", secret)
while, tu pourras laisser le joueur réessayer jusqu'à trouver.L'ordinateur choisit au hasard pierre, feuille ou ciseaux. Le joueur saisit son choix. Le programme affiche le choix de l'ordinateur puis annonce Égalité, Tu gagnes ou Tu perds.
Rappel des règles : pierre bat ciseaux, ciseaux bat feuille, feuille bat pierre. Astuce : from random import * puis choice(["pierre", "feuille", "ciseaux"]).
from random import *
choix_ordi = choice(["pierre", "feuille", "ciseaux"])
choix_joueur = input("Ton choix (pierre / feuille / ciseaux) : ")
print("L'ordinateur a choisi", choix_ordi)
if choix_joueur == choix_ordi :
print("Égalité")
elif choix_joueur == "pierre" and choix_ordi == "ciseaux" :
print("Tu gagnes !")
elif choix_joueur == "feuille" and choix_ordi == "pierre" :
print("Tu gagnes !")
elif choix_joueur == "ciseaux" and choix_ordi == "feuille" :
print("Tu gagnes !")
else :
print("Tu perds !")
On saisit deux coordonnées x et y. La tortue se déplace à ce point et dessine un point d'une couleur selon le quadrant : en haut à droite (x ≥ 0 et y ≥ 0) → vert, en haut à gauche → bleu, en bas à gauche → rouge, en bas à droite → orange. Utilise and.
Rappel Turtle : penup() pour lever le crayon, goto(x, y) pour se déplacer, dot(60) pour le point.
from turtle import *
x = numinput("Position", "Coordonnée x :")
y = numinput("Position", "Coordonnée y :")
penup()
goto(x, y)
if x >= 0 and y >= 0 :
color("green")
elif x < 0 and y >= 0 :
color("blue")
elif x < 0 and y < 0 :
color("red")
else :
color("orange")
dot(60)