Les tests avec python¶
Ce module présente les bases du contrôle de flux en Python à travers l’utilisation des structures conditionnelles telles que if, elif, else, ainsi que l’instruction match. Ces outils permettent de prendre des décisions en fonction de la valeur ou du type d’une variable. Des fonctions utiles comme type(), isinstance() ou any() sont également introduites pour enrichir les tests.
Exercice : Catégoriser une température¶
Solution to Exercise 1 #
def decrire_temperature(temp):
if temp < 0:
print("Très froid")
elif temp < 15:
print("Frais")
elif temp < 25:
print("Tempéré")
else:
print("Chaud")
# Tests
decrire_temperature(-5) # Très froid
decrire_temperature(10) # Frais
decrire_temperature(20) # Tempéré
decrire_temperature(30) # ChaudExercice : Reconnaissance de commande¶
Solution to Exercise 2 #
def executer_commande(cmd):
match cmd:
case "start":
print("Démarrage du système...")
case "stop":
print("Arrêt en cours...")
case "pause":
print("Pause activée.")
case "exit":
print("Fermeture du programme.")
case _:
print("Commande inconnue.")
# Tests
executer_commande("start") # Démarrage du système...
executer_commande("pause") # Pause activée.
executer_commande("exit") # Fermeture du programme.
executer_commande("reboot") # Commande inconnue.Exercice : Tester le type d’une variable¶
Solution to Exercise 3 #
def identifier_type(valeur):
if isinstance(valeur, int):
print("C’est un entier")
elif isinstance(valeur, str):
print("C’est une chaîne")
elif isinstance(valeur, bool):
print("C’est un booléen")
else:
print("Type non reconnu")
# Tests
identifier_type(42) # C’est un entier
identifier_type("bonjour") # C’est une chaîne
identifier_type(True) # C’est un booléen
identifier_type(3.14) # Type non reconnuExercice : Vérification de mot de passe¶
Solution to Exercise 4 #
def verifier_mot_de_passe(mdp):
valide = True
if len(mdp) < 8:
print("Le mot de passe doit contenir au moins 8 caractères.")
valide = False
if not any(char.isalpha() for char in mdp):
print("Le mot de passe doit contenir au moins une lettre.")
valide = False
if not any(char.isdigit() for char in mdp):
print("Le mot de passe doit contenir au moins un chiffre.")
valide = False
if valide:
print("Mot de passe valide")
# Tests
verifier_mot_de_passe("abc") # Trop court, pas de chiffre
verifier_mot_de_passe("12345678") # Pas de lettre
verifier_mot_de_passe("abc123") # Trop court
verifier_mot_de_passe("motdepasse1") # ValideLes boucles prévisibles et imprévisibles¶
En Python, les boucles for et while sont utilisées pour répéter l’exécution d’un bloc de code, mais elles diffèrent dans leur fonctionnement et leur utilisation.
La boucle for est utilisée lorsque vous savez à l’avance combien de fois la boucle doit s’exécuter. Elle itère sur une séquence (comme une liste, un tuple, une chaîne de caractères, ou une plage de nombres) et exécute le bloc de code pour chaque élément de la séquence.
La boucle while, en revanche, est utilisée lorsque le nombre d’itérations n’est pas connu à l’avance et dépend d’une condition. La boucle continue de s’exécuter tant que la condition est vraie.
Exercice : Afficher les nombres pairs avec une boucle for¶
Solution to Exercise 5 #
Exemple de code
for i in range(1, 21):
if i % 2 == 0:
print(i)Explication
La boucle
forparcourt les nombres de 1 à 20.La condition
if i % 2 == 0vérifie si le nombre est pair (c’est-à-dire si le reste de la division par 2 est égal à 0).Si la condition est vraie, le nombre est affiché.
Variations
Essayez de modifier le programme pour :
Afficher les nombres impairs.
Afficher les nombres dans un autre intervalle.
Exercice : Compter jusqu’à 10¶
Solution to Exercise 6 #
Exemple de code
# Initialisation de la variable
i = 1
# Boucle while
while i <= 10:
print(i)
i += 1Explication
La variable
iest initialisée à 1.La boucle
whilecontinue de s’exécuter tant que la conditioni <= 10est vraie.À chaque itération, la valeur de
iest affichée et ensuite incrémentée de 1.
Variations
Essayez de modifier le programme pour :
Afficher les nombres de 10 à 1 en décrémentant la variable.
Afficher seulement les nombres pairs de 1 à 20.