Physique-Chimie & NSI

Cours complets et originaux de Physique-Chimie & NSI

É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)")