Programmer en Python

Bienvenu dans ce cours sur l’apprentissage de la programmation en Python. Ce cours se concentre sur un but : apprendre les bases de programmation. En fait, l’accent est mis sur la programmation dite « impérative », où un programme décrit la suite d’ordres que l’ordinateur doit exécuter.

Pour atteindre ce but, ce cours débute avec l’interpréteur bash mais utilise principalement le langage Python 3. Il existe de nombreux (excellents) langages de programmation, et le choix du langage Python 3 est motivé par les points suivants :

  1. la pratique est très importante pour apprendre à programmer, il faut donc forcément faire un choix de langage,
  2. Python est gratuit, propose une très bonne documentation et fonctionne presque sur tous les ordinateurs,
  3. Python a une très grande communauté (encore en pleine croissance) et est utilisé très largement, de la création de sites webs à de nombreux domaines scientifiques,
  4. l’expérience a montré qu’il est plus facile pour les débutants d’apprendre Python que la plupart des autres langages de programmation,
  5. bien que les versions 2 et 3 de Python existent et soient actives, la version 3 de Python (par exemple, Python 3.5) est plus cohérente pour l’apprentissage et plus durable que la version 2 (par exemple Python 2.7).

Pourquoi Apprendre à Programmer

Pour la plupart des gens, programmer n’est pas une fin en soi. Apprendre les bases de programmation est cependant très utile dans quasiment tous les domaines. Savoir programmer permet :

Prérequis

Pour profiter au maximum de ce cours, l’apprenant doit préalablement :

Plan du document

00:00 Introduction Qu’est ce que la programmation impérative ?
Quel est la différence entre informatique et programmation ?
Pourquoi enseigner l’informatique à tous ?
00:00 Le Terminal et Bash Qu’est ce que le terminal ?
Qu’est ce que bash ?
00:00 Arborescences de Fichier et Bash Qu’est ce qui constitue le nom d’un fichier ?
Comment désigner/référencer un fichier dans le répertoire courant ?
Comment désigner/référencer un fichier ailleurs ?
00:00 Un Premier Programme Comment et où écrire un programme en Python ?
Comment lancer/exécuter ce programme Python ?
00:00 Opérations sur des Nombres Quels sont les opérations possibles en Python ?
Comment contrôler plus finement ce qui est affiché avec print ?
00:00 Variables et Types Comment rendre plus lisibles des expressions compliquées ?
Comment mémoriser des valeurs intermédiaire ?
Peux-on ajouter des choux et des carottes ?
00:00 Apprendre par l'Erreur Quel type d’erreurs peuvent se manifester dans un programme ?
Comment lire les messages d’erreurs ?
Comment chercher et résoudre un problème dans un programme ?
00:00 Fonctions Prédéfinies et Aide D’où viennent les fonctions print(…), min(…), len(…), etc ?
Y-a-t-il un manuel d’utilisation pour ces fonctions ?
00:00 Bibliothèques et Importation de Fonctions Comment faire des calculs mathématiques plus complexes comme de la trigonométrie ?
Où trouver d’autres fonctions existantes ?
Comment référencer des fonctions existantes ?
00:00 Bibliothèque Graphique qtido Comment aller au delà de print(…) pour interagir avec l’utilisateur ?
Comment tracer des formes géométriques dans une fenêtre ?
Comment exporter un dessin dans un fichier jpeg ou png ?
00:00 Entrées Utilisateur Comment recevoir des entrées textuelles de l’utilisateur ?
Comment recevoir des entrées numériques de l’utilisateur ?
00:00 Instructions Conditionnelles Comment n’exécuter certaines parties du programme que dans certains cas ?
00:00 Instructions Conditionnelles (2) Comment exécuter une partie du programme ou l’autre ?
Comment limiter le nombre d’instructions conditionnelles ?
00:00 Boucles while (tant que) Comment répeter des instructions à l’infini ?
Comment répeter des instructions plusieurs fois ?
00:00 Listes de Valeurs Comment grouper des valeurs dans une liste ?
Comment lire et modifier une liste ?
00:00 Listes de Valeurs (2) Comment tester si une valeurs se trouve dans une liste ?
Comment extraire des statistiques d’une liste ?
00:00 Boucles for Comment appliquer un morceau de programme sur chaque élément d’une liste ?
Comment éviter certains copier/coller dans un programme ?
00:00 Définitions de fonctions Comment créer un code plus lisible ?
Comment définir ses propres fonctions ?
Comment éviter certains copier/coller dans un programme ?
00:00 Finish