1. Du bloc au texte : découvrir Python
Exercice 1 — ⭐
- Quelle est la différence entre la programmation par blocs (Scratch) et la programmation textuelle (Python) ?
- Qu’appelle-t-on la « syntaxe » d’un langage de programmation ?
- Que se passe-t-il en Python si l’indentation d’une ligne n’est pas correcte ?
Voir le corrigé
- Dans Scratch, on assemble des blocs colorés préexistants ; en Python, on écrit directement des instructions sous forme de texte, en respectant des règles précises.
- La syntaxe d’un langage est l’ensemble des règles précises qu’il faut respecter pour écrire un programme valide (comment écrire une instruction, où mettre les guillemets, les parenthèses, les deux-points, etc.).
- Python affiche une erreur (une
IndentationError) : contrairement à d’autres langages, l’indentation fait partie de la syntaxe et n’est pas juste une question de présentation.
2. Variables et types
Exercice 2 — ⭐⭐
Pour chacune des lignes suivantes, indique le type de la variable créée (int, float ou
str) :
age = 13pi = 3.14ville = "Douvrin"distance = 42.195
Voir le corrigé
age = 13: c’est un nombre entier, donc de typeint.pi = 3.14: c’est un nombre à virgule, donc de typefloat.ville = "Douvrin": c’est un texte entre guillemets, donc de typestr.distance = 42.195: c’est un nombre à virgule, donc de typefloat.
3. Afficher et demander une saisie
Exercice 3 — ⭐⭐
- Écris un programme qui crée une variable
prenomcontenant"Nour", puis affiche"Bonjour Nour !"à l’aide deprint(). - Écris un programme qui demande à l’utilisateur son prénom avec
input(), le stocke dans une variable, puis affiche"Bonjour "suivi du prénom saisi. - Pourquoi faut-il écrire
age = int(input("Quel âge as-tu ? "))plutôt queage = input("Quel âge as-tu ? ")si l’on veut ensuite calculerage + 1?
Voir le corrigé
-
prenom = "Nour" print("Bonjour", prenom, "!") -
prenom = input("Comment t'appelles-tu ? ") print("Bonjour", prenom) input()renvoie toujours une chaîne de caractères (str), même si l’utilisateur tape des chiffres. Or on ne peut pas additionner un nombre à une chaîne de caractères : il faut d’abord la convertir en nombre entier avecint(...)pour pouvoir ensuite calculerage + 1.
4. Tester une condition : if / else
Exercice 4 — ⭐⭐⭐
On donne le programme suivant :
note = 9
if note >= 10:
print("Admis")
else:
print("Non admis")
- Que va afficher ce programme ? Justifie.
- Réécris ce programme pour que la limite d’admission soit au lieu de .
- Écris un programme qui demande une note à l’utilisateur (avec
input()et une conversion adaptée) et affiche « Admis » ou « Non admis » selon la même règle qu’à la question 1.
Voir le corrigé
- Il affiche
Non admis, car : la conditionnote >= 10est fausse, donc c’est la brancheelsequi s’exécute. -
note = 9 if note >= 12: print("Admis") else: print("Non admis") -
(On utilisenote = float(input("Quelle est ta note ? ")) if note >= 10: print("Admis") else: print("Non admis")floatplutôt queintcar une note peut être décimale, par exemple .)
5. Les opérateurs de comparaison en Python
Exercice 5 — ⭐⭐⭐⭐
- Explique la différence entre
vies = 3etvies == 3en Python. - On donne :
vies = 0. Le programme suivant contient une erreur de logique : trouve-la et corrige-la.vies = 0 if vies = 0: print("Partie terminée") - Écris un programme qui crée une variable
temperaturevalant , puis affiche"Il gèle !"si la température est strictement négative, et"Pas de gel"sinon.
Voir le corrigé
vies = 3donne la valeur à la variablevies(instruction d’affectation).vies == 3teste si la valeur actuelle deviesest égale à , et renvoieTrueouFalse(instruction de comparaison, utilisable dans unif).- L’erreur est d’avoir écrit
if vies = 0:avec un seul signe=(affectation) au lieu deif vies == 0:avec deux signes=(comparaison). Python refuse d’ailleurs ce code avec une erreur de syntaxe. Version corrigée :vies = 0 if vies == 0: print("Partie terminée") -
temperature = -3 if temperature < 0: print("Il gèle !") else: print("Pas de gel")