DataManip Insights ÉPISODE 1Algorithmique : premiers pasGratuit
🏷️ Épisode 1 · Variables et types

« Si je tape 10 puis 5, Python additionne et affiche 15. »
Non : il affiche 105. Ce que tape l'utilisateur est toujours du texte.

Une variable est une case nommée où l'on range une valeur. Chaque valeur a un type : un entier (int), un nombre à virgule (float) ou du texte (str). La fonction input() renvoie toujours du texte : si l'utilisateur tape 10 puis 5 et que l'on écrit a + b, Python colle les deux textes et obtient « 105 », pas 15. Ce texte lu comme un nombre vaut 7 fois la somme attendue, et aucune erreur n'est signalée : le programme continue avec la mauvaise valeur. La parade tient en un mot, int(), qui convertit le texte en nombre.

🎯 L'analogie clé

Un bocal étiqueté « 10 » : il peut contenir le nombre dix ou les deux caractères « 1 » et « 0 », et le signe + ne fait pas la même chose dans les deux cas.

Le principe

Deux types,
deux « + » différents.

Avec des nombres, + additionne : 10 + 5 vaut 15. Avec du texte, + colle les morceaux bout à bout (on dit concaténer) : « 10 » + « 5 » vaut « 105 ». Ce texte, lu comme un nombre, vaut cent cinq, soit 7 fois plus que 15. Le graphique compare, selon la valeur de b, le texte lu comme un nombre et la vraie somme, en échelle logarithmique : plus b est grand, plus l'écart se creuse.

🏷️
Variable
Un nom qui désigne une valeur rangée en mémoire : age = 42.
🔀
Type
int pour les entiers, float pour les décimaux, str pour le texte.
🔄
Conversion
int("10") transforme le texte « 10 » en nombre 10.
Le point clé : avec a = 10 et b = 5 lus par input(), a + b vaut « 105 » et non 15, soit 7 fois trop ; int(a) + int(b) donne 15.
À vous de manipuler

Tapez deux nombres,
comparez les résultats.

Réglez les deux nombres tapés et le nombre de répétitions. Le premier graphique compare le texte (lu comme un nombre) et la vraie somme selon b ; le point blanc est votre réglage.

Texte et somme selon b
Valeur (échelle log) du texte lu comme un nombre et de la vraie somme, selon b

Le texte est celui que Python obtient en collant a et b ; il est lu comme un nombre pour être comparé à la somme.

Texte obtenu
-
ce que print(a + b) affiche
Somme attendue
-
après int(a) + int(b)
Écart
-
texte lu comme nombre ÷ somme
Longueur du texte
-
en caractères
À retenir : avec a = 10 et b = 5, le texte « 105 » vaut 7,0 fois la somme 15 ; sa longueur est de 3 caractères.
Répéter une saisie

Répéter un texte
n'est pas le multiplier.

De la même façon, « 10 » * 3 ne vaut pas 30 : Python répète le texte trois fois et obtient « 101010 ». Pour a = 10, répété 2, 3, 5 puis 10 fois, on obtient « 1010 », « 101010 », « 1010101010 » puis un texte de 20 caractères, alors que le bon résultat pour 10 répétitions est 100.

Texte répété selon n
Valeur (échelle log) du texte répété et du vrai produit, selon le nombre de répétitions

Chips : valeur de a réglée plus haut ; les textes très longs sont tronqués.

Répété 2 fois
-
texte obtenu
Répété 3 fois
-
texte obtenu
Répété 5 fois
-
texte obtenu
Répété 10 fois
-
texte obtenu
Le point clé : « 10 » * 10 donne un texte de 20 caractères, pas 100 : multiplier un texte le répète.
En pratique

Quatre réflexes
avec les types.

Voici la démarche, puis un exemple.

🔄
Convertissez la saisie
Écrivez int(input()) ou float(input()) dès la lecture.
🔍
Vérifiez le type
type(x) affiche int, float ou str : utile quand un résultat surprend.
🏷️
Nommez clairement
age_texte et age_nombre évitent de mélanger les deux.
🧪
Testez avec 10 et 5
Si 10 et 5 ne donnent pas 15, le type est faux.
Python · algo_types.py
a = input()                # l'utilisateur tape 10
b = input()                # l'utilisateur tape 5
a + b                      # '105' : deux textes collés
int(a) + int(b)            # 15 : la bonne somme
type(a)                    # <class 'str'>
"10" * 3                   # '101010' : le texte est répété
Test rapide

Vérifiez votre compréhension.

L'utilisateur tape 10 puis 5. Le programme fait a = input(), b = input(), print(a + b). Que s'affiche-t-il ?

Ce qu'il faut retenir

Épisode suivant

Tester les mentions dans le mauvais ordre : avec les seuils 10, 12, 14 et 16 pris du bas vers le haut, 9 notes sur 21 (42,9 %) reçoivent la mauvaise mention, et jusqu'à 79,8 % d'une classe de moyenne 14

Python sait lire et ranger une valeur. Comment lui faire prendre une décision ? Les conditions : si, sinon… et l'ordre des tests compte.

ACCÈS COMPLET

Cet épisode est gratuit. Les 282 autres t'attendent.

Statistiques, finance quantitative, machine learning, deep learning, LLM, agents IA, MLOps : 321 épisodes avec des simulateurs à manipuler, pas des vidéos.

99 € (+ TVA selon le pays) · accès à vie · remboursement possible sous 7 jours
Débloquer les 282 épisodes · 99 € J'ai déjà une clé de licence
FULL ACCESS

This episode is free. The other 282 are waiting for you.

Statistics, quantitative finance, machine learning, deep learning, LLMs, AI agents, MLOps: 321 interactive episodes with simulators to play with, not videos.

€99 (+ VAT depending on country) · lifetime access · 7-day refund
Unlock the 282 episodes · €99 I already have a license key