0% ont trouvé ce document utile (0 vote)
9 vues11 pages

TP Python - Structure Conditionelle2

Ce document présente un TP Python sur les structures conditionnelles, comprenant des exercices pratiques sur les instructions if, if-else et if-elif-else. Les participants apprendront à utiliser des opérateurs de comparaison et logiques, ainsi qu'à manipuler des booléens et des prédicats. Le TP est divisé en plusieurs parties, chacune abordant différents concepts et applications des structures conditionnelles.

Transféré par

Kahina Kahina
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues11 pages

TP Python - Structure Conditionelle2

Ce document présente un TP Python sur les structures conditionnelles, comprenant des exercices pratiques sur les instructions if, if-else et if-elif-else. Les participants apprendront à utiliser des opérateurs de comparaison et logiques, ainsi qu'à manipuler des booléens et des prédicats. Le TP est divisé en plusieurs parties, chacune abordant différents concepts et applications des structures conditionnelles.

Transféré par

Kahina Kahina
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP Python - Structures Conditionnelles

Durée : 1h30 - 2h (version enrichie)

Objectifs du TP
Maîtriser les structures conditionnelles (if, if-else, if-elif-else)

Utiliser les opérateurs de comparaison et logiques

Manipuler les booléens et les prédicats

Combiner plusieurs conditions avec and, or, not

Partie 1 : Structure if simple (20 min)

Exercice 1.1 : Premier if (5 min)


Écrivez un programme qui :

1. Demande l'âge de l'utilisateur

2. Si l'âge est supérieur ou égal à 18, affiche "Vous êtes majeur"

Syntaxe à utiliser :

python

if condition:
# instructions

Exercice 1.2 : Comparaisons multiples (8 min)


Créez un programme qui demande un nombre à l'utilisateur et :

1. Affiche "Nombre positif" si le nombre est supérieur à 0

2. Affiche "Nombre pair" si le nombre est divisible par 2

3. Affiche "Nombre supérieur à 100" si le nombre dépasse 100

Question : Que se passe-t-il si le nombre est 50 ? Combien de messages s'affichent ?

Exercice 1.3 : Limites du if simple (7 min)


Écrivez un programme qui demande la température en degrés Celsius et :

1. Affiche "Il fait chaud" si la température est supérieure à 25


2. Affiche "Température normale" dans tous les cas

Question : Quel est le problème avec ce code ? Que s'affiche-t-il quand la température est 30 ?

Exercice 1.4 : Bonus de salaire (5 min)


Une entreprise accorde un bonus de 500€ si le chiffre d'affaires dépasse 10000€.
Créez un programme qui :

1. Demande le chiffre d'affaires réalisé

2. Affiche "Vous recevez un bonus de 500€" si CA > 10000€

Exercice 1.5 : Alerte météo (5 min)


Écrivez un programme qui demande la vitesse du vent en km/h et :

1. Affiche "Alerte tempête" si la vitesse dépasse 80 km/h

2. Affiche "Alerte vent fort" si la vitesse dépasse 50 km/h

3. Affiche "Conditions venteuses" si la vitesse dépasse 30 km/h

Question : Si le vent est à 90 km/h, combien de messages s'affichent ? Pourquoi ?

Partie 2 : Structure if-else (25 min)

Exercice 2.1 : Pair ou impair (7 min)


Créez un programme qui :

1. Demande un nombre entier à l'utilisateur

2. Affiche "Le nombre est pair" si le nombre est divisible par 2

3. Affiche "Le nombre est impair" sinon

Syntaxe à utiliser :

python

if condition:
# instructions si vrai
else:
# instructions si faux

Exercice 2.2 : Contrôle d'accès (8 min)


Créez un programme de contrôle d'accès qui :
1. Demande l'âge de l'utilisateur

2. Si l'âge est >= 18 : affiche "Accès autorisé" et demande ensuite s'il a un billet (oui/non)
Si oui : affiche "Bienvenue !"

Si non : affiche "Veuillez acheter un billet"

3. Si l'âge est < 18 : affiche "Accès refusé - Mineur"

Exercice 2.3 : Calculateur de remise (5 min)


Un magasin applique une remise de 10% si le montant d'achat dépasse 100€. Créez un programme qui :

1. Demande le montant de l'achat

2. Calcule le montant final (avec ou sans remise)

3. Affiche le montant à payer et indique si une remise a été appliquée

Exercice 2.4 : Année bissextile (7 min)


Créez un programme simplifié qui détermine si une année est bissextile :

1. Demande une année

2. Si l'année est divisible par 4 : affiche "Année bissextile"

3. Sinon : affiche "Année non bissextile"

Note : C'est une version simplifiée. La règle complète sera vue avec if-elif-else.

Exercice 2.5 : Connexion utilisateur (8 min)


Créez un système de connexion simple :

1. Demande un nom d'utilisateur (stockez "admin" comme utilisateur valide)

2. Demande un mot de passe (stockez "1234" comme mot de passe valide)

3. Si les deux sont corrects : affiche "Connexion réussie"

4. Sinon : affiche "Identifiants incorrects"

Aide : Utilisez deux if imbriqués ou une condition and .

Partie 3 : Structure if-elif-else (30 min)

Exercice 3.1 : Mention scolaire (8 min)


Créez un programme qui demande une note sur 20 et affiche la mention correspondante :

note >= 16 : "Très bien"


note >= 14 : "Bien"

note >= 12 : "Assez bien"

note >= 10 : "Passable"

note < 10 : "Insuffisant"

Syntaxe à utiliser :

python

if condition1:
# instructions
elif condition2:
# instructions
elif condition3:
# instructions
else:
# instructions

Exercice 3.2 : Catégories d'âge (7 min)


Écrivez un programme qui demande l'âge et affiche la catégorie :

0-2 ans : "Bébé"

3-12 ans : "Enfant"

13-17 ans : "Adolescent"

18-59 ans : "Adulte"

60 ans et plus : "Senior"

Exercice 3.3 : Calculateur d'IMC (10 min)


Créez un programme qui calcule l'Indice de Masse Corporelle (IMC) :

1. Demande le poids (en kg) et la taille (en mètres)

2. Calcule l'IMC = poids / (taille²)

3. Affiche la catégorie selon l'IMC :


IMC < 18.5 : "Insuffisance pondérale"

18.5 <= IMC < 25 : "Corpulence normale"

25 <= IMC < 30 : "Surpoids"

IMC >= 30 : "Obésité"


Exercice 3.4 : Convertisseur de notes (8 min)

Créez un convertisseur de notes américaines vers françaises :

1. Demande une lettre (A, B, C, D, F)

2. Affiche l'équivalent français :


A : "Excellent (16-20)"

B : "Bien (14-16)"

C : "Assez bien (12-14)"

D : "Passable (10-12)"

F : "Insuffisant (0-10)"

Autre : "Note invalide"

Exercice 3.5 : Calculateur de frais de port (8 min)


Un site e-commerce applique les frais de port suivants selon le poids :

Moins de 500g : 5€

Entre 500g et 2kg : 10€

Entre 2kg et 5kg : 15€

Plus de 5kg : 25€

Livraison gratuite si montant > 50€

Créez un programme qui :

1. Demande le poids du colis (en grammes) et le montant de la commande

2. Calcule les frais de port

3. Affiche le total à payer

Exercice 3.6 : Année bissextile (version complète) (6 min)


Créez la version complète du détecteur d'année bissextile avec les règles :

Divisible par 400 : bissextile

Divisible par 100 mais pas par 400 : non bissextile

Divisible par 4 mais pas par 100 : bissextile

Sinon : non bissextile


Partie 4 : Opérateurs logiques (and, or, not) (30 min)

Exercice 4.1 : Opérateur AND (8 min)


Créez un programme d'accès à une salle de sport qui vérifie :

1. L'utilisateur a entre 16 et 65 ans

2. L'utilisateur a un abonnement valide (oui/non)

3. Affiche "Accès autorisé" seulement si les DEUX conditions sont vraies

4. Sinon, affiche pourquoi l'accès est refusé

Aide : Utilisez and pour combiner les conditions.

Exercice 4.2 : Opérateur OR (7 min)


Un cinéma offre une réduction si :

L'utilisateur a moins de 12 ans OU plus de 65 ans

OU c'est mercredi (demandez le jour de la semaine)

Créez un programme qui :

1. Demande l'âge et le jour de la semaine

2. Calcule le prix du ticket (10€ normal, 7€ avec réduction)

3. Affiche le prix et explique si une réduction est appliquée

Exercice 4.3 : Opérateur NOT (5 min)


Créez un programme qui vérifie si un nombre est en dehors de l'intervalle [10, 50] :

1. Demande un nombre

2. Utilise not pour vérifier que le nombre N'EST PAS entre 10 et 50

3. Affiche "Nombre hors intervalle" ou "Nombre dans l'intervalle"

Exercice 4.4 : Combinaison d'opérateurs (5 min)


Créez un validateur de mot de passe qui vérifie :

1. Le mot de passe a au moins 8 caractères ( len(mot_de_passe) >= 8 )

2. Le mot de passe contient au moins un chiffre ( any([Link]() for c in mot_de_passe) )

3. Le mot de passe n'est pas "password" ou "12345678"

Utilisez AND, OR et NOT pour créer ces conditions.


Exercice 4.5 : Triangle valide (7 min)
Un triangle est valide si la somme de deux côtés est toujours supérieure au troisième côté.
Créez un programme qui :

1. Demande les trois côtés d'un triangle (a, b, c)

2. Vérifie avec and si : (a+b > c) ET (a+c > b) ET (b+c > a)

3. Affiche si le triangle est valide ou non

Exercice 4.6 : Weekend ou férié (6 min)


Créez un programme qui détermine si quelqu'un doit travailler :

1. Demande le jour de la semaine (lundi, mardi, etc.)

2. Demande si c'est un jour férié (oui/non)

3. Affiche "Repos" si c'est samedi OU dimanche OU un jour férié

4. Sinon affiche "Travail"

Exercice 4.7 : Accès VIP (8 min)


Un événement accorde l'accès VIP si :

L'utilisateur est membre premium OU a dépensé plus de 500€ cette année

ET l'utilisateur n'est pas banni

ET l'événement n'est pas complet

Créez un programme qui vérifie toutes ces conditions et affiche le résultat.

Exercice 4.8 : Table de vérité (6 min)


Créez un programme qui affiche la table de vérité de deux booléens A et B :

1. Teste toutes les combinaisons : (True, True), (True, False), (False, True), (False, False)

2. Pour chaque combinaison, affiche :


A and B

A or B

not A

not B
Partie 5 : Exercices supplémentaires de synthèse (15 min)

Exercice 5.1 : Jeu de devinette (7 min)


Créez un mini-jeu de devinette :

1. Stockez un nombre secret (par exemple 42)

2. Demandez à l'utilisateur de deviner

3. Indiquez si le nombre est trop grand, trop petit, ou correct

4. Affichez le nombre de tentatives autorisées restantes (3 tentatives maximum)

Exercice 5.2 : Équation du second degré (8 min)


Créez un programme qui résout ax² + bx + c = 0 :

1. Demande les coefficients a, b, c

2. Calcule le discriminant Δ = b² - 4ac

3. Selon la valeur de Δ :
Δ > 0 : "Deux solutions réelles distinctes"

Δ = 0 : "Une solution double"

Δ < 0 : "Pas de solution réelle"

Partie 6 : Projet Final - Système de Notation (20 min)


Créez un système complet d'évaluation d'étudiants avec les fonctionnalités suivantes :

Fonctionnalités requises :
1. Saisie des informations :
Nom de l'étudiant

Note de contrôle continu (sur 20)

Note d'examen final (sur 20)

Nombre d'absences

2. Calcul de la moyenne :
Moyenne = (Contrôle continu × 0.4) + (Examen final × 0.6)

3. Détermination du résultat :
Si absences > 5 : "Ajourné pour absences" (peu importe la note)

Sinon, selon la moyenne :


moyenne >= 16 : "Admis avec mention Très bien"

moyenne >= 14 : "Admis avec mention Bien"

moyenne >= 12 : "Admis avec mention Assez bien"

moyenne >= 10 : "Admis"

moyenne >= 8 : "Rattrapage"

moyenne < 8 : "Ajourné"

4. Affichage final :
Nom de l'étudiant

Moyenne calculée (arrondie à 2 décimales)

Résultat et mention éventuelle

Message d'encouragement ou de félicitations selon le cas

Bonus (si temps disponible) :


Vérifier que les notes sont bien entre 0 et 20

Vérifier que le nombre d'absences est positif

Ajouter une vérification si l'étudiant a la moyenne AU MOINS dans l'une des deux notes

Proposer de recommencer pour un autre étudiant

Tests à effectuer pour le projet final


Testez votre programme avec ces cas :

1. Étudiant brillant : CC=18, Examen=17, Absences=2

2. Étudiant absent : CC=15, Examen=14, Absences=6

3. Étudiant au rattrapage : CC=9, Examen=8, Absences=3

4. Étudiant avec mention : CC=13, Examen=15, Absences=1

Conseils pratiques
Indentation : Elle est CRUCIALE en Python ! Toutes les instructions d'un bloc if/elif/else doivent être
indentées de la même manière (4 espaces ou 1 tabulation)

Tests : Testez toujours plusieurs cas (valeurs limites, cas normaux, cas extrêmes)

Opérateurs logiques :
and : toutes les conditions doivent être vraies

or : au moins une condition doit être vraie

not : inverse la condition

Parenthèses : Utilisez-les pour clarifier les priorités : if (age > 18) and (permis == "oui"):

Barème indicatif
Partie 1 : /12 points

Partie 2 : /15 points

Partie 3 : /18 points

Partie 4 : /20 points

Partie 5 : /10 points

Partie 6 : /25 points

Total : /100 points

Rappels syntaxiques

Structure if simple :

python

if condition:
instruction

Structure if-else :

python

if condition:
instruction1
else:
instruction2

Structure if-elif-else :

python
if condition1:
instruction1
elif condition2:
instruction2
else:
instruction3

Opérateurs de comparaison :
== , != , < , > , <= , >=

Opérateurs logiques :
and , or , not

Bon travail !

Vous aimerez peut-être aussi