INTRODUCTION AU LANGAGE PYTHON
Infos du jour
- La liste des projets 2026 est en ligne. Les modalités de contrôle des connaissances des projets ont été mise à jour.
- Les projets seront présentés en détail lors du cours magistral du mercredi 22 avril. Présence très fortement conseillée si vous voulez avoir l'ensemble des informations.
- Si vous ne l'avez pas fait au S1, il est indispensable d'installer
l'environnement de développement Python sur votre ordinateur personnel
(Windows, Linux ou MacOS). Vous n'êtes pas obligé d'avoir la dernière version
disponible (en l'occurrence 3.14.2), toute version supérieure ou égale à la
version 3.6.0 conviendra parfaitement pour le contenu de l'UE. Quelques infos
pour l'installation sur Windows sont données ci-dessous (Rubrique 5), la mise
en oeuvre est très similaire sur Linux ou MacOS.
- Si vous avez de la place sur votre disque dur, je vous conseille d'installer
Anaconda. Cette plateforme
contient toutes les bibliothèques dont vous allez avoir besoin au cours du semestre.
Cela vous évitera de devoir les installer une par une.
- La documentation de la bibliothèque ezTK créée par Christophe Schlick est disponible ici.
Objectifs
Cette page a pour but de regrouper diverses ressources permettant
une introduction au langage de programmation Python. On y trouve
notamment :
- Des exemples de programmes, des exercices d'application
avec leur solution, ainsi que des projets de plus grande envergure,
tous classés par niveaux de difficulté
- Des pointeurs vers quelques-uns des nombreux documents disponibles
sur le Web, pour l'apprentissage de la syntaxe et des fonctionnalités
du langage Python
- Un petite aide à l'installation et au démarrage de l'environnement
de développement Python sous Windows
1 - Exemples, Exercices et Projets
2 - Contrôle des connaissances
Comme indiqué dans les modalités de contrôle des connaissances, la note finale
de l'UE est composée de quatres notes d'un coefficent de 0.25 chacune.
- DSI en avril
- Projet en mai
- TP noté en juin
- DST en juin
Le DS terminal aura lieu lors de la session de juin. Le sujet se composera
de deux ou trois exercices de programmation, similaires à ceux réalisés en TD.
Les documents sont autorisés sont les exemples et les solutions des exercices
vus en cours et en TD; distribués avec le sujet de l'exame,.
Les projets sont à réaliser en binôme (quelques dérogations peuvent être
données pour la réalisation d'un projet en monôme, notamment pour les étudiants
qui ont déjà une très bonne maîtrise de la programmation). Ces sujets sont tous
à difficulté variable en fonction des éléments qui vous allez y intégrer, et
une notation adaptée à cette difficulté sela utilisée. Cette notation portera
dans une très large majorité sur la qualité du code (structuration, lisibilité,
adéquation des structures de données et des algorithmes) et dans une moindre
mesure sur les différentes fonctionnalités incluses dans le programme.
En particulier, la structuration du code en fonctions et en modules bien
choisis, ainsi qu'un bon usage des commentaires et des docstrings sur l'ensemble
du programme seront des critères de notation très importants. Par
conséquent, la note finale d'un projet avec peu de fonctionnalités mais bien
conçu, peut largement dépasser celle d'un projet très fourni mais bâclé.
La présentation des projets se déroulera durant une séance spécifique durant la
semaine 17 et vous aurez jusqu'au début de la semaine 18 pour constituer
les binômes.
Comme expliqué lors de la séance de présentation des projets, chaque binôme
devra envoyer des versions intermédiaires de son travail tous les 15 jours
durant la période allouée au projet. Plus précisément, les dates limites
pour l'envoi des deux versions intermédiaires correspondent à la fin des
semaines 19, et 21 respectivement. La version finale sera envoyée à la fin
de la semaine 22.
Tous les envois se feront par courrier électronique à l'adresse mail
ci-dessus avec, en pièce-jointe, une archive ZIP contenant l'ensemble des
fichiers sources du programme ainsi qu'un fichier "readme.txt" qui résumera
les travaux réalisés durant la quinzaine. Afin de permettre un classement
efficace des versions successives du projet, le nom de l'archive devra
impérativement être "nombinomeA+nombinomeB+N.zip" où 'N' représente le
numéro de la version envoyée (donc 1, 2 ou 3). Pour simplifier, les deux
patronymes des membres du binôme seront mis dans l'ordre alphabétique. Enfin,
le sujet du message correspondant contiendra également le nom de cette archive.
Comme la gestion de ces courriers électroniques utilise des filtres automatiques
sur les messages, il est IMPERATIF de respecter scrupuleusement ces modalités.
Le non-respect engendrera des points de pénalités sur la note finale.
Enfin, une séance de démonstration du projet pour chaque binôme sera organisée
durant les semaines 23 ou 24, en parallèle de la session d'examens. Un
ordre de passage des binômes sera affiché et mis en ligne au préalable...
Annales
Cette année, nous avons traité la partie B avant la partie C. Pour le DSI, l'exercice 2 portera
donc sur les fichiers et le traitement des chaînes de caractères. L'exercice 3 sera
du même type que les années précédentes, mais sera en mode texte sur les tableaux à
deux dimensions.
3 - Quelques ressources disponibles sur le Web
5 - Installation et utilisation de l'environnement Python sous Windows
Après avoir téléchargé le fichier, "python-X.X.msi"
(où X.X correspond au numéro de la version récupérée),
un double-clic sur celui-ci permet de lancer l'installation de
l'environnement Python sous Windows. A la fin de l'installation, il
doit y avoir une nouvelle entrée "Python X.X" dans le menu Démarrer.
L'environnement de programmation se lance alors en cliquant sur
l'entrée "IDLE" de ce menu. La fenêtre suivante s'affiche :
A partir de ce moment, on peut soit entrer des commandes Python
directement dans la fenêtre "Python Shell",
soit créer une fenêtre d'édition (raccourci
clavier : Ctrl+N) pour saisir un programme
complet :
A tout moment, un appui sur F5 permet d'exécuter le contenu de
la fenêtre d'édition sélectionnée.
...
Philippe Blasi