Vue d'ensemble
Avant même de parler d'algorithmes, il faut être parfaitement à l'aise avec les briques de base de Python : stocker une valeur dans une variable, connaître son type, et combiner des valeurs dans des expressions. Ce sont les automatismes que tu réactiveras à chaque ligne de code de la prépa. Cette fiche te les remet en place proprement, avec les pièges qui font perdre des points en début d'année.
Prérequis
- Savoir lancer un programme Python (console ou éditeur)
- Aucune notion de prépa n'est requise
Tu arrives en prépa avec des bases fragiles en Python ? Mieux vaut les solidifier maintenant qu'en pleine année. Nos mentors alumni X · Centrale · Mines reprennent les fondamentaux avec toi, à ton rythme, avant que le programme ne s'accélère.
Trouver un mentor →1. Variables et affectation
Une variable est un nom associé à une valeur stockée en mémoire.
L'affectation nom = valeur range la valeur de droite dans la
variable de gauche. Le symbole = n'est pas une égalité mathématique :
il se lit « reçoit ».
age = 17 # age reçoit la valeur 17
age = age + 1 # on lit age (17), on ajoute 1, on range 18 dans age
print(age) # affiche 18age = 17Création + affectation. On crée la variable age et on y range l'entier 17.age = age + 1La droite est évaluée d'abord. Python calcule age + 1 = 18 avec l'ancienne valeur, puis range 18 dans age. C'est pour ça que x = x + 1 a un sens en informatique alors que c'est faux en maths.print(age)Affichage. print montre la valeur actuelle de age : 18._) et peut
contenir lettres, chiffres et _, sans espace. Évite les accents (convention d'usage).
Choisis des noms parlants (vitesse, n_eleves) plutôt que a,
b, x2.
2. Les types de base
Chaque valeur a un type, qui détermine ce qu'on peut en faire. Les quatre types de base :
| Type | Rôle | Exemples |
|---|---|---|
int | entier | 0, 17, -5 |
float | nombre à virgule | 3.14, -0.5, 2.0 |
bool | booléen | True, False |
str | chaîne de caractères | "bonjour", 'A' |
type(17) # <class 'int'>
type(2.0) # <class 'float'> (le point décimal fait un float)
type("17") # <class 'str'> (les guillemets font une chaîne)
int("17") + 3 # 20 : on convertit la chaîne "17" en entiertype(2.0)Le point décimal compte. 2.0 est un float, alors que 2 est un int : même valeur, types différents.type("17")Les guillemets font une chaîne. "17" est du texte (str), pas le nombre 17 : on ne peut pas l'additionner à un entier tel quel.int("17") + 3Conversion explicite. int(...) transforme la chaîne "17" en entier 17, puis + 3 donne 20. Les fonctions int(), float(), str() convertissent d'un type à l'autre."17" + 3 déclenche une erreur
(TypeError) : on ne peut pas additionner une chaîne et un entier. Convertis d'abord
avec int("17") — ou str(3) si tu voulais concaténer du texte.
3. Opérations et expressions
Une expression est un calcul qui produit une valeur. Les opérateurs arithmétiques :
7 + 2 # 9 addition
7 - 2 # 5 soustraction
7 * 2 # 14 multiplication
7 / 2 # 3.5 division (donne TOUJOURS un float)
7 // 2 # 3 division entière (quotient)
7 % 2 # 1 modulo (reste de la division)
2 ** 10 # 1024 puissance7 / 2Division « normale ». Résultat 3.5, toujours un float, même si ça tombe juste (4 / 2 vaut 2.0).7 // 2Division entière. Donne le quotient entier : 3. Très utilisée (calcul d'un milieu, d'un chiffre…).7 % 2Modulo. Donne le reste : 1. n % 2 == 0 teste si n est pair.f permet
d'écrire une variable entre accolades : si n = 5, alors f"n vaut {n}"
produit la chaîne "n vaut 5", et f"le double : {2 * n}" produit
"le double : 10".
= n'est pas ==. = affecte (range une valeur),
== teste l'égalité (renvoie un booléen). Écrire if x = 3 est une erreur de
syntaxe ; il faut if x == 3.
4. Exercices d'application
À faire de tête avant d'ouvrir le corrigé.
Que valent a et b à la fin ?
a = 3
b = a * 2
a = a + 5Voir la correction détaillée
a = 3 : a vaut 3.b = a * 2 : la droite est évaluée avec a = 3, donc b vaut 6. Changer a ensuite ne changera pas b.a = a + 5 : a devient 3 + 5 = 8. Bilan : a = 8, b = 6.Une durée est donnée en secondes = 130. Écris deux expressions donnant le nombre de minutes entières et le nombre de secondes restantes.
Voir la correction détaillée
secondes // 60 = 130 // 60 = 2.secondes % 60 = 130 % 60 = 10.(// , %) sert exactement à ça.Récap final — Ce qu'il faut absolument retenir
Tu dois pouvoir répondre « oui » sans hésiter à chaque point.
- Sais-tu expliquer pourquoi
x = x + 1a un sens (la droite est évaluée d'abord) ? - Sais-tu distinguer
int,float,bool,stret lire le type d'une valeur ? - Sais-tu convertir avec
int(),float(),str()? - Sais-tu la différence entre
/,//et%? - Sais-tu que
7 / 2vaut3.5(unfloat) et7 // 2vaut3? - Sais-tu tester la parité avec
n % 2 == 0? - Ne confonds-tu jamais
=(affectation) et==(test d'égalité) ?