4e⏱ 45 minutes
Découvrir Python : variables et conditions — Entraînement type évaluation
Pour un entraînement qui sert vraiment à quelque chose : pas de cours sous les yeux, une feuille et un stylo (pas d'ordinateur). Note-toi ensuite avec le corrigé.
Barème indicatif : 20 points.
Exercice 1 (4 points) — Vocabulaire
- Qu'est-ce qu'un langage de programmation textuel, par opposition à Scratch ? (1 point)
- À quoi sert l'indentation en Python ? (1 point)
- Quelle est la différence entre les fonctions
print()etinput()? (1 point) - Quel est le rôle du mot-clé
elsedans un programme Python ? (1 point)
Voir le corrigé
- Un langage textuel s'écrit avec du texte et une syntaxe précise, alors que Scratch s'utilise en assemblant des blocs graphiques préexistants.
- L'indentation indique quelles instructions appartiennent à un même bloc de code (par
exemple, ce qui doit s'exécuter à l'intérieur d'un
if). print()affiche une information à l'écran ;input()met le programme en pause pour demander une saisie à l'utilisateur et la renvoie sous forme de texte.elseintroduit la branche exécutée uniquement quand la condition duifest fausse.
Exercice 2 (4 points) — Types de variables
Pour chacune des lignes suivantes, indique le type de la variable créée (int, float ou
str) et justifie brièvement :
nom_eleve = "Sofia"(1 point)nombre_de_points = 17(1 point)prix = 4.90(1 point)code_postal = "62138"(1 point)
Voir le corrigé
str: le texte est entre guillemets.int: c'est un nombre entier, sans virgule.float: c'est un nombre à virgule.str: bien que composé de chiffres,"62138"est écrit entre guillemets, c'est donc du texte (un code postal n'est d'ailleurs pas destiné à être utilisé dans un calcul).
Exercice 3 (4 points) — Lire un programme
age = int(input("Quel âge as-tu ? "))
if age >= 12:
print("Tu peux voir ce film")
else:
print("Ce film est interdit pour toi")
- À quoi sert
int(...)autour deinput(...)dans ce programme ? (1 point) - Que va afficher ce programme si l'utilisateur répond
10? (1 point) - Que va afficher ce programme si l'utilisateur répond
15? (1 point) - Réécris la condition pour que la limite d'âge soit au lieu de . (1 point)
Voir le corrigé
int(...)convertit la chaîne de caractères renvoyée parinput()en nombre entier, afin de pouvoir la comparer avec>=à un nombre.- Il affiche
Ce film est interdit pour toi, car rend la conditionage >= 12fausse. - Il affiche
Tu peux voir ce film, car rend la condition vraie. -
if age >= 16:
Exercice 4 (4 points) — Écrire un programme
Un magasin applique une réduction de 10 % sur les achats de plus de 50 €, et aucune réduction en dessous.
- Écris un programme qui crée une variable
montantvalant , teste si ce montant est strictement supérieur à , et affiche"Réduction appliquée"ou"Pas de réduction"selon le cas. (3 points) - Le programme doit-il utiliser
>ou>=pour tester « plus de 50 € » ? Justifie. (1 point)
Voir le corrigé
-
montant = 60 if montant > 50: print("Réduction appliquée") else: print("Pas de réduction") - Il faut utiliser
>(strictement supérieur), car l'énoncé précise « plus de 50 € » : un achat à exactement € ne bénéficie donc pas de la réduction.>=inclurait à tort les achats à exactement €.
Exercice 5 (4 points) — Corriger des erreurs
Le programme suivant contient deux erreurs de syntaxe ou de logique. Recopie-le corrigé.
score = 0
si score = 0
print("Aucun point marqué")
- Identifie la première erreur. (2 points)
- Identifie la seconde erreur. (2 points)
Voir le corrigé
- Première erreur :
sin'existe pas en Python (c'est du français) ; le mot-clé correct estif. - Seconde erreur :
if score = 0utilise=(affectation) au lieu de==(test d'égalité) ; de plus, la ligne duifdoit se terminer par:. Version corrigée :score = 0 if score == 0: print("Aucun point marqué")