Cette page propose des ressources sur le langage Python pour la spécialité NSI au lycée. Les travaux pratiques présentés doivent permettre à un élève de maîtriser les notions de base du langage et d’acquérir des savoirs plus larges sur l’informatique en général. Par ailleurs, il est important de les réaliser dans l’ordre présenté car la progression pédagogique mise en place doit être respectée. L’objectif visé étant de pouvoir se lancer de manière autonome dans des projets de fin d’année ambitieux et intéressants.

I – Les notions fondamentales de Python

Dans cette série de TP, les concepts informatiques généraux abordés sont les suivants :

  • structures de contrôle d’un langage de programmation
  • affichage et saisie utilisateur
  • signature de fonction
  • langage objet et méthodes d’objet
  • fonction de hachage et générateur de nombres pseudo-aléatoires
  • fichiers textes, fichiers binaires, fichiers CSV et persistance des données

Les notions propres au langage Python :

  • typage et transtypage des variables
  • test conditionnel, boucle FOR et WHILE
  • défintion de fonction et retour multiple
  • manipulation et formatage de chaînes de caractères
  • listes simples et listes imbriquées : recherche de minimum, de maximum et tri de valeurs
  • tirage de nombres aléatoires avec le module random
  • tuples et dictionnaires
  • manipulation de fichiers en lecture/écriture

La pédagogie proposée est d’introduire les concepts de manière simple et concrète au fur et à mesure de leur utilisation dans les exercices et sans rentrer dans des détails trop techniques. Par exemple, l’écriture d’un petit programme simple d’authentification avec vérification de mot de passe permet d’illustrer la notion de fonctions de hachage. L’apprenant intéressé pourra approfondir les notions de manière autonome en consultant les ressources au bas de cette page.

Au début de la courbe d’apprentissage, beaucoup de temps est consacré à la résolution des messages d’erreurs de Python. Pour les comprendre, on pourra s’aider de ce document.

Travaux PratiquesFichiers d'exercicesFichiers de corrections
Les fondamentaux du langage PythonExercice 1
Exercice 2
Exercice 3
Corrigé exercice 1
Corrigé exercice 2
Corrigé exercice 3
Les chaînes de caractères en PythonExercice 1
Exercice 2
Corrigé exercice 1
Corrigé exercice 2
Les listes en PythonExercice 1
Exercice 2
Exercice 2
Corrigé exercice 1
Corrigé exercice 2
Corrigé exercice 3
Les méthodes de chaînes en PythonExercice 1
Exercice 2
Corrigé exercice 1
Corrigé exercice 2
Les dictionnaires et les tuples en PythonExercice 1
Exercice 2
Corrigé exercice 1
Corrigé exercice 2
Les fichiers en PythonExercice 1
Exercice 2
Corrigé exercice 1
Corrigé exercice 2

II – Pour aller plus loin en Python

Cette série de TP est l’occasion de présenter des concepts un peu plus avancés pour l’élève courageux et investi dans son apprentissage :

  • encodage numérique d’une image : pixel et espace colorimétrique
  • différences entre langage compilé et langage interprété
  • classe d’objet et instance de classe
  • mécanisme de gestion des exceptions en Python
  • documentation de code
  • algorithmes de traitement d’images : filtres de couleurs, négatif d’une image, histogramme des intensités de couleurs
  • tracé de courbes
  • utilisation de librairies externes : Pillow et matplotlib
Travaux PratiquesFichiers d'exercicesFichiers de corrections
Traitement d'images Iperroquet.jpg
Exercice 1
Exercice 2

Corrigé exercice 1
Corrigé exercice 2
Traitement d'images IIExercice 1
Exercice 2
Corrigé exercice 1
Corrigé exercice 2

III – Ressources à consulter

Ressources pour la spécialité NSI au lycée sur le site eduscol.

Les documentations Python, Pillow, et matplotlib sont indispensables lorsqu’on recherche des informations sur une méthode particulière.

Comme toujours, Wikipédia est une porte d’entrée incontournable quand on aborde un nouveau concept :

Enfin, des sites d’apprentissage du langage Python ou encore des forums pour poser des questions ou bien des sites d’informations sont indispensables lorsqu’on débute en programmation en général ou sur un certain langage en particulier :

Fermer le menu
Aliquam elit. risus. dolor Donec commodo adipiscing tempus