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.
🧩 Atelier d’auto-apprentissage
Apprenez à traduire les formules, écrire des fonctions et programmer des suites grâce à 10 exercices progressifs autocorrectifs.
Voici votre tout premier programme Python :
2. Cours
A. Variables et types
Définition — Variable
Une variable est une case mémoire nommée. On la crée par une affectation avec =. Python détecte automatiquement le type.
Les quatre types fondamentaux
| 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érateurs arithmétiques
| 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
Syntaxe — if / elif / else
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
Boucle 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.
Boucle while
Répète le bloc tant que la condition est vraie. Indispensable pour les algorithmes de seuil.
D. Fonctions
Définition — Fonction Python
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
Définition — Liste
Une liste est une collection ordonnée entre crochets [ ]. Les indices commencent à 0. lst[-1] désigne le dernier élément.
Opérations courantes
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
Exemple 1 — Factorielle et coefficients binomiaux
On programme \(n!\) puis \(\binom{n}{k}\) pour reconstruire le triangle de Pascal.
Exemple 2 — Méthode de Newton
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\).
Exemple 3 — Crible d'Ératosthène
Algorithme classique pour trouver tous les nombres premiers jusqu'à \(N\).
Exemple 4 — Suite de Fibonacci et nombre d'or
\(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.
⭐ Facile Exercice 1 — Calculatrice
Écrire une fonction calculatrice(a, op, b) qui prend deux nombres et un opérateur ('+', '-', '*', '/') et retourne le résultat.
⭐ Facile Exercice 2 — Maximum sans max()
Sans utiliser la fonction max(), écrire mon_max(lst) qui retourne le plus grand élément d'une liste.
⭐⭐ Moyen Exercice 3 — Suite et algorithme de seuil
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\).
⭐⭐ Moyen Exercice 4 — Moyenne, variance, écart-type
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}\).
⭐⭐⭐ Difficile Exercice 5 — Dichotomie
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}\).
⭐⭐⭐ Difficile Exercice 6 — Simulation de la loi binomiale
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)\).
🔧 Fiches méthodes
Méthodes à maîtriser pour ce chapitre.
Méthode — Algorithme de recherche de seuil
while : tant que la condition n'est pas atteinte, incrémenter \(n\) et calculer \(u_{n+1}\).Exemple détaillé — Premier \(n\) tel que \(0{,}5^n < 0{,}001\)
u = 1 # u_0 = 1
n = 0
while u >= 0.001:
n = n + 1
u = 0.5 * u
print(f"n = {n}, u_n = {u:.6f}")
# Résultat : n = 10, u_n = 0.000977
Vérification : \(0{,}5^{10}=1/1024\approx0{,}000977<0{,}001\) ✓
Méthode — Simulation de probabilités (Monte-Carlo)
random. Fixer un grand \(N\) (ex. 100 000).Exemple détaillé — Simulation de \(X\sim\mathcal{B}(10;0{,}3)\)
import random
N = 100000
succes = 0
for _ in range(N):
nb = sum(1 for _ in range(10) if random.random() < 0.3)
if nb == 3:
succes += 1
print(f"P(X=3) ≈ {succes/N:.4f}")
# Résultat attendu ≈ 0.2668
Piège à éviter
En Python, l'indentation est syntaxique. Une erreur d'indentation provoque un IndentationError immédiat. Utiliser des espaces (4 par niveau) ou des tabulations, jamais les deux.
📌 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.