Fiche d’exercices : variables et types natifs
Cette fiche complète le TD types simples. Elle s’appuie sur le cours. Chaque exercice est court et peut se faire au stylo (en prédisant le résultat) avant vérification à l’IDE.
Exercice 1 — None
Sans exécuter : que vont afficher les deux print ? Justifie en une phrase.
Exercice 2 — bool, un sous-type de int
Sans exécuter, donne la valeur de chacune des expressions suivantes :
Exercice 3 — bibliothèque math
Calcule à la main (ou vérifie à l’IDE) :
Indications : math.floor -> arrondit vers le bas (plancher). math.ceil arrondit vers le haut.
Exercice 4 — round
Donne le résultat de :
Remarque : round(2.5) te surprendra peut-être — Python utilise l’arrondi “au pair le plus proche”, pas l’arrondi classique. Cherche pourquoi si le résultat ne correspond pas à ton intuition.
Exercice 5 — typage dynamique et affectation multiple
- Que produisent les deux premiers
print? Quelle notion du cours cela illustre-t-il ? - La ligne
x, y = y, x = 1, 2est syntaxiquement valide : il s’agit d’une affectation chaînée (cible1 = cible2 = expression), combinée à l’affectation multiple vue dans le cours. Sans exécuter, prédis ce qu’afficheprint(x, y). Indice : l’expression1, 2n’est évaluée qu’une seule fois, puis affectée à chaque cible. - Ecris cette expression de manière plus conventionnelle, en 2 lignes.
Exercice 6 — références, id, is et ==
- Prédis le résultat des deux
print. - Explique avec tes mots la différence entre
==etis. - Que donnent les tests
id(a) == id(b), etid(a) == id(c)? Expliquer.
Exercice 7 — méthodes de chaînes
Pour la chaîne phrase = " Les Chaines De Caracteres En Python ", écris (au stylo) le code Python qui permettrait de :
- supprimer les espaces inutiles au début et à la fin ;
- mettre toute la phrase en minuscules ;
- remplacer
"python"par"NSI"; - découper la phrase nettoyée en une liste de mots (séparateur : l’espace) ;
- recoller cette liste de mots avec un tiret
-comme séparateur.
Exercice 8 — f-strings
Réécris chacune des lignes suivantes en utilisant une f-string :
Exercice 9 — parser une chaîne
On dispose de la chaîne suivante, représentant une date au format ISO :
- En utilisant le slicing, extrais séparément l’année, le mois et le jour dans trois variables
annee,mois,jour. - Propose une seconde solution utilisant la méthode
split. - Laquelle des deux méthodes te semble la plus robuste si le format de date changeait (par exemple un jour à un seul chiffre) ? Justifie.