Programmation Python Par La Pratique
Julien Guillod
Dunod
Chapitre 1 Introduction1
1.1 Remerciements1
1.2 Pourquoi Python ?2
1.3 Prérequis2
1.4 Documentation3
1.5 Installation3
1.6 Lancement de Jupyter Lab5
1.7 Utilisation de Jupyter Lab6
Chapitre 2 Structures de données9
Exercice 2.1. Listes9
Exercice 2.2. Tuples11
Exercice 2.3. Ensembles12
Exercice 2.4. Dictionnaires13
Solution 2.1. Listes14
Solution 2.2. Tuples16
Solution 2.3. Ensembles17
Solution 2.4. Dictionnaires17
Chapitre 3 Structures homogènes19
Exercice 3.1. Introduction à Numpy19
Exercice 3.2. Opérations sur les tableaux21
Exercice 3.3. Matrice de Vandermonde22
Exercice 3.4. Indexage de tableaux (!)22
Solution 3.1. Introduction à Numpy23
Solution 3.2. Opérations sur les tableaux24
Solution 3.3. Matrice de Vandermonde24
Solution 3.4. Indexage de tableaux (!)26
Chapitre 4 Représentations graphiques21
Exercice 4.1. Représentations graphiques27
Exercice 4.2. Chaos déterministe29
Exercice 4.3. Ensemble de Mandelbrot32
Exercice 4.4. Représentations graphiques avancées (!)32
Solution 4.1. Représentations graphiques34
Solution 4.2. Chaos déterministe35
Solution 4.3. Ensemble de Mandelbrot40
Solution 4.4. Représentations graphiques avancées (!)43
Chapitre 5 Intégration49
Exercice 5.1. Méthode des rectangles49
Exercice 5.2. Méthode des trapèzes50
Exercice 5.3. Méthode de Monte-Carlo51
Exercice 5.4. Méthode de Simpson (!)52
Exercice 5.5. Intégration avec Scipy (!!)52
Solution 5.1. Méthode des rectangles53
Solution 5.2. Méthode des trapèzes57
Solution 5.3. Méthode de Monte-Carlo60
Solution 5.4. Méthode de Simpson (!)64
Solution 5.5. Intégration avec Scipy (!!)66
Chapitre 6 Algèbre69
Exercice 6.1. Décomposition LU69
Exercice 6.2. Méthode de la puissance itérée70
Exercice 6.3. Exponentielle de matrices71
Exercice 6.4. Groupes de permutations72
Solution 6.1. Décomposition LU73
Solution 6.2. Méthode de la puissance itérée76
Solution 6.3. Exponentielle de matrices78
Solution 6.4. Groupes de permutations82
Chapitre 7 Théorie des graphes87
Exercice 7.1. Graphes comme dictionnaires87
Exercice 7.2. Triangles dans un graphe88
Exercice 7.3. Module NetworkX (!!)89
Solution 7.1. Graphes comme dictionnaires89
Solution 7.2. Triangles dans un graphe92
Solution 7.3. Module NetworkX (!!)94
Chapitre 8 Calcul symbolique99
Exercice 8.1. Introduction à Sympy99
Exercice 8.2. Applications101
Exercice 8.3. Conjecture due à Euler102
Exercice 8.4. Fonction pathologique103
Exercice 8.5. Fonction de Green du laplacien (!)104
Solution 8.1. Introduction à Sympy105
Solution 8.2. Applications106
Solution 8.3. Conjecture due à Euler108
Solution 8.4. Fonction pathologique111
Solution 8.5. Fonction de Green du laplacien (!)113
Chapitre 9 Zéro de fonctions119
Exercice 9.1. Méthode de Newton en une dimension119
Exercice 9.2. Méthode de Newton en plusieurs dimensions120
Exercice 9.3. Attracteur de la méthode de Newton121
Exercice 9.4. Équation différentielle non linéaire (!!)122
Solution 9.1. Méthode de Newton en une dimension123
Solution 9.2. Méthode de Newton en plusieurs dimensions124
Solution 9.3. Attracteur de la méthode de Newton125
Solution 9.4. Équation différentielle non linéaire (!!)127
Chapitre 10 Probabilités et statistiques131
Exercice 10.1. Loi de Benford131
Exercice 10.2. Série harmonique de signe aléatoire132
Exercice 10.3. Ruine du joueur133
Exercice 10.4. Urnes de Polya134
Exercice 10.5. Percolation (!!)135
Solution 10.1. Loi de Benford136
Solution 10.2. Série harmonique de signe aléatoire142
Solution 10.3. Ruine du joueur144
Solution 10.4. Urnes de Polya147
Solution 10.5. Percolation (!!)150
Chapitre 11 Équations différentielles155
Exercice 11.1. Méthodes d'Euler155
Exercice 11.2. Méthodes de Runge-Kutta156
Exercice 11.3. Mouvement d'une planète158
Exercice 11.4. Attracteur de Lorenz159
Exercice 11.5. Équation des ondes cubique (!!)159
Exercice 11.6. Méthodes de Bogacki-Shampine (!!!)160
Solution 11.1. Méthodes d'Euler161
Solution 11.2. Méthodes de Runge-Kutta165
Solution 11.3. Mouvement d'une planète168
Solution 11.4. Attracteur de Lorenz171
Solution 11.5. Équation des ondes cubique (!!)174
Chapitre 12 Cryptographie177
Exercice 12.1. Code de Vigenère177
Exercice 12.2. Casser le code de Vigenère (!)178
Exercice 12.3. Générer des nombres premiers179
Exercice 12.4. Générer des nombres pseudo-premiers179
Exercice 12.5. Chiffrement RSA180
Exercice 12.6. Casser le chiffrement RSA (!!!)182
Solution 12.1. Code de Vigenère182
Solution 12.2. Casser le code de Vigenère (!)183
Solution 12.3. Générer des nombres premiers186
Solution 12.4. Générer des nombres pseudo-premiers187
Solution 12.5. Chiffrement RSA189
Index193