Python — Apprendre à programmer
Variables, boucles, fonctions, listes. Applications en maths et éditeur Python interactif.
📋 Sommaire
1. Introduction
Python est l'un des langages de programmation les plus populaires au monde. Facile à lire, puissant et polyvalent, il est utilisé en sciences des données, en intelligence artificielle, en physique, en finance et — bien sûr — en mathématiques.
Voici votre tout premier programme Python :
2. Cours
A. Variables et types
Une variable est une case mémoire nommée. On la crée par une affectation avec =. Python détecte automatiquement le type.
| Type | Nom Python | Exemples | Description |
|---|---|---|---|
| Entier | int | 3, -7, 1000 | Nombre entier relatif |
| Décimal | float | 3.14, -0.5 | Nombre à virgule flottante |
| Chaîne | str | "Bonjour", 'abc' | Texte entre guillemets |
| Booléen | bool | True, False | Vrai ou Faux |
| Op. | Signification | Exemple | Résultat |
|---|---|---|---|
+ | Addition | 3+4 | 7 |
- | Soustraction | 10-3 | 7 |
* | Multiplication | 5*3 | 15 |
/ | Division (réelle) | 7/2 | 3.5 |
// | Division entière | 7//2 | 3 |
% | Modulo (reste) | 7%2 | 1 |
** | Puissance | 2**10 | 1024 |
B. Structures conditionnelles
En Python, l'indentation (4 espaces) est obligatoire pour délimiter les blocs. Les opérateurs de comparaison sont : ==, !=, <, <=, >, >=. Les opérateurs logiques : and, or, not.
C. Boucles
for
Parcourt une séquence. range(a, b) génère les entiers de a à b−1. range(n) génère 0, 1, …, n−1.
while
Répète le bloc tant que la condition est vraie. Indispensable pour les algorithmes de seuil.
D. Fonctions
Une fonction est un bloc de code réutilisable, défini avec def. Elle peut recevoir des paramètres et retourner un résultat avec return.
E. Listes
Une liste est une collection ordonnée entre crochets [ ]. Les indices commencent à 0. lst[-1] désigne le dernier élément.
lst[i]— accès à l'indice ilen(lst)— longueurlst.append(x)— ajouter en finlst.sort()— tri croissantsum(lst)— sommemin(lst)/max(lst)sorted(lst)— nouvelle liste triée[f(x) for x in lst]— compréhension
F. Applications en mathématiques
F.1 — Suites et algorithme de seuil
F.2 — Intégration numérique (méthode des rectangles)
F.3 — Simulation probabiliste
3. Exemples guidés
On programme \(n!\) puis \(\binom{n}{k}\) pour reconstruire le triangle de Pascal.
La suite \(x_{n+1} = x_n - \dfrac{f(x_n)}{f'(x_n)}\) converge très vite vers une racine de \(f\). On approche \(\sqrt[3]{2}\) en résolvant \(x^3-2=0\).
Algorithme classique pour trouver tous les nombres premiers jusqu'à \(N\).
\(F_0=0,\ F_1=1,\ F_{n+1}=F_n+F_{n-1}\). Le rapport \(\dfrac{F_{n+1}}{F_n}\) converge vers \(\varphi=\dfrac{1+\sqrt{5}}{2}\).
4. Exercices interactifs
Complétez le code dans chaque éditeur, puis cliquez sur ▶ Exécuter pour tester votre solution.
Écrire une fonction calculatrice(a, op, b) qui prend deux nombres et un opérateur ('+', '-', '*', '/') et retourne le résultat.
Sans utiliser la fonction max(), écrire mon_max(lst) qui retourne le plus grand élément d'une liste.
Soit \(u_0=100\) et \(u_{n+1}=0{,}85\,u_n\). Écrire une fonction qui retourne les \(N\) premiers termes, et une autre qui trouve le plus petit \(n\) tel que \(u_n < 1\).
Sans bibliothèque externe, calculer la moyenne \(\bar{x}\), la variance \(V=\frac{1}{n}\sum(x_i-\bar{x})^2\) et l'écart-type \(\sigma=\sqrt{V}\).
Implémenter la méthode de dichotomie pour approcher une racine de \(f\) sur \([a,b]\) avec \(f(a)\cdot f(b)\leq 0\). L'utiliser pour approcher \(\sqrt{2}\).
Simuler \(X\sim\mathcal{B}(20,\,0{,}3)\) sur 10 000 essais. Comparer l'espérance et la variance simulées aux valeurs théoriques \(E(X)=np\) et \(V(X)=np(1-p)\).
📌 Fiche de synthèse Python
Structures essentielles
| Concept | Syntaxe |
|---|---|
| Affectation | x = 5 |
| Affichage | print(x, "texte", 3+4) |
| Commentaire | # commentaire |
| Condition | if cond: ... elif ...: ... else: ... |
| Boucle for | for i in range(n): ... |
| Boucle while | while condition: ... |
| Fonction | def f(x): ... return ... |
| Lambda | f = lambda x: x**2 |
| Compréhension | [f(x) for x in lst if cond] |
Fonctions mathématiques — module math
math.sqrt(x)— racine carréemath.pi— \(\pi\)math.e— \(e\)math.sin(x),math.cos(x)math.log(x)— \(\ln(x)\)math.factorial(n)— \(n!\)abs(x)— valeur absolueround(x, n)— arrondi
Bonnes pratiques
- Indentation : toujours 4 espaces.
- Noms explicites :
moyenne_notesplutôt quemn. - Tester : vérifier sur des cas simples avant les cas complexes.
- Boucle while : s'assurer que la condition finit par devenir fausse.
- Commenter : expliquer le pourquoi, pas le quoi.