Recalculer après avoir changé une variable
Tu changes une valeur dans ton notebook, le document qui contient tes blocs de code, mais le résultat reste le même. Python calcule quand tu exécutes le code : modifier le texte ne lance aucun calcul.
| Ce que tu observes | Le geste à essayer |
|---|---|
| Une valeur changée ne modifie pas le résultat | Gestes 1 et 2 |
NameError après un redémarrage |
Geste 3 |
| Tu veux vérifier ton propre calcul | Geste 4 |
Pratique pendant la lecture. Si tu passes plus de vingt minutes sur une notion sans l'écrire dans du code, ferme la fiche et reprends la manipulation.
1. Séparer les données, le calcul et l'affichage
Dans un notebook d'essai, crée trois cellules de code, c'est-à-dire trois blocs que tu peux exécuter séparément. Copie chaque bloc ci-dessous dans une cellule différente. Cet exemple fictif calcule une distance nagée en mètres dans un bassin.
Cellule 1, les données :
longueurs = 10
metres_par_longueur = 25Cellule 2, le calcul :
total = longueurs * metres_par_longueurCellule 3, l'affichage :
print(total)Exécute les cellules de haut en bas avec leur bouton de lecture. * multiplie et print affiche. La cellule 3 doit afficher 250, soit 250 mètres pour 10 longueurs de 25 mètres.
Une variable est un nom associé à une valeur. Dans total = longueurs * metres_par_longueur, Python fait le calcul avec les valeurs disponibles à cet instant, puis associe le résultat au nom total. Il ne conserve pas une formule qui se recalcule toute seule.
2. Changer une donnée puis refaire le calcul
Dans la cellule 1, remplace 10 par 14. Sans rien exécuter, prévois ce qu'affichera la cellule 3 si tu la relances seule. Essaie.
Elle affiche encore 250 : tu as changé le texte, mais Python n'a pas reçu la nouvelle valeur.
Exécute maintenant la cellule 1, puis la cellule 3, en sautant la cellule 2. Le résultat changera-t-il ? Essaie avant de continuer.
Il reste 250. La variable longueurs vaut maintenant 14, mais total contient toujours le résultat de l'ancien calcul. Exécute la cellule 2, puis la cellule 3 : tu dois obtenir 350 mètres.
Pour expliquer ce résultat, complète à voix haute : « J'ai changé … ; j'ai dû relancer … parce que … ».
3. Repartir avec une mémoire vide
Enregistre ton notebook d'essai. Utilise sa commande de redémarrage de session, sans lancer automatiquement toutes les cellules. Ce redémarrage efface les variables de la mémoire Python ; le code écrit reste dans le document.
Exécute seulement la cellule 3. L'erreur attendue est :
NameError: name 'total' is not definedNameError signifie ici que Python ne connaît pas encore le nom total. La présence de la cellule de calcul dans le document ne prouve pas qu'elle a été exécutée dans cette session.
Exécute les cellules 1, 2 et 3 dans cet ordre. Tu dois retrouver 350 mètres. Une ancienne sortie encore visible ne remplace pas cette nouvelle exécution.
Enregistrer le notebook, faire un commit ou l’envoyer sur GitHub conserve une version du fichier. Aucun de ces gestes n’exécute ses cellules. Le contrôle du calcul reste un redémarrage suivi d’une exécution de haut en bas.
4. Refaire le contrôle avec ton calcul
Dans un nouveau notebook, calcule le nombre de sièges pour 7 rangées de 6 sièges. Répartis ton code en trois cellules : données, calcul, affichage. Change ensuite le nombre de rangées à 9, puis vérifie le résultat après un redémarrage et une exécution de haut en bas.
Aide si tu bloques : choisis deux noms pour les données et un nom pour le résultat. Utilise la multiplication, puis print pour afficher ce résultat.
Pour vérifier après ton essai : tu dois obtenir 42 sièges, puis 54. Explique quelle cellule refait le calcul et pourquoi afficher seulement le résultat ne suffit pas après une modification.