Évaluation pratique n°1
Les bases de Python
30 minutes
Copier-coller l’intégralité de ce script dans votre IDE Python. Compléter le code manquant en vous aidant des commentaires.
Vous devez tester votre code avant que je ne corrige votre travail.
# Complétez le code ci-dessous pour répondre
# aux questions posées.
# 🖐 ne supprimez pas le code déjà existant
# Les endroits à compléter sont marqués par 🛑
import random
liste_mots = ["banane", "abricot", "pomme", "raisin",
"melon", "mangue", "chataigne", "peche", "kiwi"]
random.shuffle(liste_mots)
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# Question 1
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
print("−−− Question 1 −−−")
# Demandez à l’utilisateur son âge, stockez-le dans une variable
# Puis affichez dans la console : "Vous aurez 30 ans dans …"
# en indiquant le nombre d’années manquantes pour atteindre 30 ans
# 🛑 Demandez son âge à l’utilisateur et stockez-le dans une variable
print("…") # 🛑 à remplacer par la bonne expression
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# Question 2
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
print("\n−−− Question 2 −−−")
# Compléter les boucles for de manière à ce que
# mot1_contient_i et mot2_contient_i soit True si ces
# mots contiennent la lettre i.
# Sinon, ils doivent rester False
mot1 = liste_mots[0] # un mot aléatoire de la liste de mots
mot2 = liste_mots[1] # un autre mot aléatoire
mot1_contient_i = False
mot2_contient_i = False
for letter in mot1:
pass # 🛑 remplacer cette commande par le code nécessaire
for letter in mot2:
pass # 🛑 remplacer cette commande par le code nécessaire
print(f"{mot1} contient i : {mot1_contient_i}")
print(f"{mot2} contient i : {mot2_contient_i}")
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# Question 3 : Boucle while
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
print("\n−−− Question 3 −−−")
# Écrivez une boucle while qui simule le lancer d’un dé à 6 faces
# (random.randint(1, 6)) jusqu’à obtenir un 6.
# Comptez et affichez le nombre de lancers nécessaires.
de = 0
nb_lancers = 0
# 🛑 À compléter avec le code nécessaire
print(f"6 obtenu en {nb_lancers} lancer(s).")
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# Question 4 : Fonction qui compte les voyelles
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
print("\n−−− Question 4 −−−")
# Définissez une fonction compter_voyelles(mot) qui prend une chaîne
# de caractères en paramètre et RENVOIE le nombre de voyelles (a, e, i, o, u, y).
def compter_voyelles(mot):
pass # 🛑 À remplacer
# --- Tests automatiques (ne rien modifier) ---
print(f"Voyelles dans 'python' : {compter_voyelles('python')} (attendu : 2)")
print(f"Voyelles dans '{liste_mots[0]}' : {compter_voyelles(liste_mots[0])}")
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# Question 5 : Fonction qui applique une réduction
# −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
print("\n−−− Question 5 −−−")
# Définissez une fonction prix_remise(prix) qui :
# - renvoie prix * 0.8 (20% de réduction) si prix >= 50
# - renvoie prix inchangé sinon.
def prix_remise(prix):
pass # 🛑 À remplacer
# --- Tests automatiques ---
print(f"prix_remise(30) = {prix_remise(30)} (attendu : 30)")
print(f"prix_remise(100) = {prix_remise(100)} (attendu : 80.0)")