View difference between Paste ID: Ji5xZnc8 and yypSWfa4
SHOW: | | - or go back to the newest paste.
1
## Liste des exercices
2
3
### Exercices de niveau _Débutant_ :
4
5
 - [Manipuler les listes](http://fr.openclassrooms.com/forum/sujet/exercice-manipuler-les-listes-92455)
6
Votre mission: Manipuler les listes ! :p
7
Équipement recommandé: Avoir lu le chapitre sur... [les listes](http://fr.openclassrooms.com/tutoriel-3-257585-les-listes-et-tuples-1-2.html)!
8
9
 - [Le jeu du plus ou moins](http://fr.openclassrooms.com/forum-83-537575-p1-exercice-novice-le-jeu-du-plus-ou-moins.html#r5158516)
10
Votre mission: Recréer le célèbre jeu du "plus ou moins" en python!
11
Équipement recommandé: Utiliser un module ([random](http://docs.python.org/library/random.html)), connaître [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html) et [les structures conditionnelles.](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html)
12
13
 - [Mesurer l'indentation dans un fichier texte](http://fr.openclassrooms.com/forum-83-613591-p1-code-pour-mesurer-l-indentation.html)
14
Votre mission: Écrire un code Python qui mesure l'indentation d'une ligne de texte.
15
Équipement recommandé: Connaître [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html), [les fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1) et voir même [les expressions régulières](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
16
17
 - [Nombres impairs](http://fr.openclassrooms.com/forum-83-541570-p1-exercice-debutant-nombres-impairs.html)
18
Votre mission sera d'écrire une fonction qui prend deux entiers en paramètres, et qui affiche, dans l'ordre croissant, tous les nombres impairs se trouvant entre ces deux entiers inclus. Vous devez afficher ces nombres, en les séparant uniquement d'un espace.
19
Équipement recommandé: Connaître les [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html), [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les listes et tuples](http://fr.openclassrooms.com/tutoriel-3-257585-les-listes-et-tuples-1-2.html) et [les fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
20
21
 - [Tableau de Pascal](http://fr.openclassrooms.com/forum-83-536822-p1-exercice-tableau-de-pascal.html)
22
Votre mission: A partir du [triangle de Pascal](http://fr.wikipedia.org/wiki/Triangle_de_Pascal), vous devez écrire un programme en Python qui calcule la plus grande valeur de la ligne numéro n du tableau de Pascal
23
Équipement recommandé: Connaître les [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et[ les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html).
24
25
 - [SpaceBall](http://fr.openclassrooms.com/forum-83-585259-p1-pygame-spaceball.html)
26
Votre mission (spatiale): Obtenez le déplacement aléatoire d'une planète dans un plan (une fenêtre) en utilisant la librairie [ Pygame.](http://fr.openclassrooms.com/tutoriel-3-341575-interface-graphique-pygame-pour-python.html)
27
Équipement recommandé: Avoir lu le [tutoriel sur Pygame](http://fr.openclassrooms.com/tutoriel-3-341575-interface-graphique-pygame-pour-python.html) et connaître [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et[ les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html).
28
29
 - [Enceinte pressurisée](http://fr.openclassrooms.com/forum-83-609916-p1-exercice-securisez-une-enceinte-pressurisee.html)
30
Votre mission: Vous devez sécuriser une enceinte pressurisée en maintenant un volume et une pression constante!
31
Équipement recommandé: Connaître les [structures conditionnelles.](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html)
32
33
 - [Pharmacie](http://fr.openclassrooms.com/forum/sujet/exercice-poo-pharmacie)
34
Ecrire un programme orienté objets qui permet de gérer une pharmacie.
35
36
### Exercices de niveau _Débutant - Intermédiaire_ :
37
38
 - [Anagrammes](http://fr.openclassrooms.com/forum-83-541573-p1-exercice-generer-tous-les-anagrammes.html)
39
Votre mission: Générer tous les anagrammes d'un mot donné, sans créer de doublons.
40
Équipement recommandé: Connaître [les listes](http://fr.openclassrooms.com/tutoriel-3-257585-les-listes-et-tuples-1-2.html), [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et les [ fonctions.](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1)
41
42
 - [SameGame](http://fr.openclassrooms.com/forum-83-571682-p1-pygame-mini-projet-jeu-surprise.html)
43
Votre mission: Coder un puzzle en utilisant la librairie [ Pygame](http://www.pygame.org/news.html).
44
Équipement recommandé: Connaître... [ la librairie Pygame](http://fr.openclassrooms.com/tutoriel-3-341575-interface-graphique-pygame-pour-python.html)!
45
46
 - [Tetris](http://fr.openclassrooms.com/forum-83-575696-p1-pygame-mini-projet-tetris.html)
47
Votre mission: Coder le célèbre jeu Tétris en python! ^^
48
Équipement recommandé: Connaître [les opérateurs logiques](http://fr.wikibooks.org/wiki/Programmation_Python/Op%C3%A9rateur#les_op.C3.A9rateurs_logiques)
49
50
 - [La factorielle et ses analogues](http://fr.openclassrooms.com/forum-83-626166-p1-exercice-la-factorielle-et-ses-analogues.html)
51
Votre mission: Coder des fonctions factorielles!
52
Équipement recommandé: Connaître [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les structures conditionnelles.](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et les [ fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
53
54
 - [Trouver les dix plus grands nombres](http://fr.openclassrooms.com/forum-83-676513-p1-exercice-trouver-les-dix-plus-grands-nombres.html)
55
Votre mission: Trouver les dix plus grands nombres dans un iterable sans faire appel à la fonction sort() ou sorted().
56
Équipement recommandé: Avoir lu [ le cours sur python du sdz](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
57
58
### Exercices de niveau _Intermédiaire_ :
59
60
 - [Des chiffres et des lettres](http://fr.openclassrooms.com/forum-83-678227-p1-exercice-des-chiffres-et-des-lettres.html)
61
Votre mission: Trouver le mot le plus long.
62
Équipement recommandé: Avoir lu [ le cours sur python du sdz](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
63
64
 - [Carte bancaire](http://fr.openclassrooms.com/forum-83-536589-p1-exercices-confirme-carte-bancaire.html)
65
Votre mission: Vérifier la somme de contrôle d'une carte bancaire. Pour cela vous devrez vérifier qu'un numéro de carte bancaire respecte [la formule de Luhn](http://fr.wikipedia.org/wiki/Formule_de_luhn) pour les sommes de contrôle.
66
Équipement recommandé: Connaître [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les structures conditionnelles.](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et les [ fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
67
68
 - [Règle de Golomb](http://fr.openclassrooms.com/forum-83-671908-p1-exercice-regle-de-golomb.html)
69
Votre mission: 1. Coder une fonction qui prends une règle candidate en entrée, et retourne un tuple de booléens (Valide, Parfaite). 2. Réaliser une fonction prenant en paramètre un ordre et une longueur, et retournant toutes les règles de Golomb trouvées pour ces paramètres.
70
Équipement recommandé: Avoir lu [ le cours sur python du sdz](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
71
72
 - [Calculatrice simple mais précise](http://fr.openclassrooms.com/forum-83-536587-p1-exercices-confirme-calculatrice-simple-mais-precise.html)
73
Votre mission: Créer une calculatrice (mode console), simple, mais avec une précision décimale.
74
Équipement recommandé: Connaître les [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html), [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), et les [ fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
75
76
 - [Monnaie syldave](http://fr.openclassrooms.com/forum-83-537212-p1-monnaie-syldave.html)
77
Votre mission sera de résoudre en python, une énigme qui a été posée au Championnat International de jeux mathématiques en 2000. :-°
78
Équipement recommandé: Connaître les [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html), [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), et les [ fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html#ss_part_1).
79
80
 - [Afficher un VDM aléatoire](http://fr.openclassrooms.com/forum-83-537356-p1-exercice-intermediaire-afficher-un-vdm-aleatoire.html)
81
Votre mission sera d'écrire un petit script en Python qui affiche une "VDM du jour" au hasard. :p
82
Équipement recommandé: Faire quelques recherche sur [ la doc Python](http://docs.python.org/) et utiliser 2 ou 3 modules de la bibliothèque standard de Python.
83
84
 - [Poker](http://fr.openclassrooms.com/forum-83-660761-p1-poker.html)
85
Votre mission: 1. On vous donne au Poker une main de 5 cartes et le programme doit identifier la nature de la main parmi les neuf combinaisons possibles (quinte, carré, etc). 2. On vous donne deux mains de 5 cartes issues d'un même jeu de 52 cartes et le programme doit dire quelle est la main qui gagne (ou s'il y a égalité, ce qui est possible).
86
Équipement recommandé: Avoir lu [ le cours sur python du sdz](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
87
88
 - [Mini-projet : Démineur](http://fr.openclassrooms.com/forum-83-558153-p1-exercice-debutant-intermediaire-demineur.html)
89
Votre mission: Vous incarnez un agent de l'équipe de déminage chargé de sécuriser un champ de mines anti-personnelles (eh oui, malheureusement, ces horreurs existent encore à notre époque), en disposant des petits drapeaux « Attention, ne marchez pas ici, ça va vous péter à la tronche » sur chacune d'entre elles. :-°
90
Équipement recommandé: Avoir lu le cours sur [Python](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html) et connaître [ la POO (Programmation orienté objet).](http://fr.openclassrooms.com/tutoriel-3-296045-premiere-approche-des-classes.html)
91
92
 - [Connexité et comptage d'objets](http://fr.openclassrooms.com/forum-83-542524-p1-exercice-moyen-connexite-et-comptage-d-objets.html)
93
Votre mission: Trouver combien d'objets différents se trouvent sur une image binaire...
94
Équipement recommandé: Connaître [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les structures conditionnelles](http://fr.openclassrooms.com/tutoriel-3-223268-les-structures-conditionnelles.html) et [les fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html).
95
96
 - [Calcul en notation polonaise](http://fr.openclassrooms.com/forum-83-555186-p1-exercice-intermediaire-calcul-en-notation-polonaise.html)
97
Votre mission: Vous devez lire un calcul en notation polonaise (notation préfixée) puis créer un arbre binaire et afficher différents résultats à partir de celui-ci.
98
Équipement recommandé: Connaître [le calcul d'une expression mathématiques](http://fr.openclassrooms.com/tutoriel-3-83576-calcul-d-une-expression-mathematique.html) et [la récursivité](http://fr.openclassrooms.com/tutoriel-3-36703-la-recursivite.html).
99
100
 - [Un mécanisme de properties](http://fr.openclassrooms.com/forum-83-720555-6946619-tp-intermediaire-avance-un-mecanisme-de-properties.html)
101
Ré-implémentons entièrement la _built-in_ `property` en pur Python.
102
Notions abordées : Les [properties](http://docs.python.org/py3k/library/functions.html#property), les [descripteurs](http://docs.python.org/py3k/reference/datamodel.html#invoking-descriptors) et les [décorateurs](http://docs.python.org/py3k/glossary.html#term-decorator).
103
104
 - [Trouver les VIP](http://fr.openclassrooms.com/forum-83-626950-6036042-exercice-moyen-avance-trouver-les-vip.html)
105
Votre mission: Vous assistez à une soirée où sont présents un certain nombre de VIP en plus des personnes normales.
106
Tout le monde connait les VIP et les VIP ne connaissent personne en dehors des autres VIP.
107
Étant donnée la liste des invités à la soirée, retrouver la liste des VIP.
108
Equipement recommandé: Cet exercice ne requiert pas de notion particulière en dehors [des listes](http://fr.openclassrooms.com/tutoriel-3-257585-les-listes-et-tuples-1-2.html) et [des boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html).
109
110
### Exercices de niveau _Avancé_ :
111
112
 - [Mise en cache des fonctions](http://fr.openclassrooms.com/forum-83-661504-p1-exercice-mise-en-cache-des-fonctions.html)
113
Votre mission: Retenir les résultats d'une fonction appelée plusieurs fois avec les mêmes arguments.
114
Équipement recommandé: Savoir utiliser [Les décorateurs](http://fr.openclassrooms.com/tutoriel-3-368501-le-pattern-decorator-en-python.html).
115
116
 - [Notion de programmation fonctionnelle](http://fr.openclassrooms.com/forum-83-663192-p1-tp-notions-de-programmation-fonctionnelle.html)
117
Votre mission: une série d'exercices visant à initier les codeurs impératifs de tout poil aux outils empruntés à la programmation fonctionnelle en Python.
118
Équipement recommandé: Pas de pré-requis particulier si ce n'est de l'imagination!
119
120
 - [Traçage de l'exécution](http://fr.openclassrooms.com/forum-83-607848-p1-exercice-moyen-avance-tracage-de-l-execution.html)
121
Votre mission: créer un décorateur qui va vous aider à visualiser ce qui se passe à l'exécution de votre programme (autrement dit afficher le déroulement du programme en termes d'appels de fonctions)
122
Équipement recommandé: Maîtriser [Les décorateurs](http://fr.openclassrooms.com/tutoriel-3-368501-le-pattern-decorator-en-python.html), [les boucles](http://fr.openclassrooms.com/tutoriel-3-224341-les-boucles.html), [les dictionnaires](http://fr.openclassrooms.com/tutoriel-3-277209-les-dictionnaires.html) et [les fonctions](http://fr.openclassrooms.com/tutoriel-3-229363-pas-a-pas-vers-la-modularite-1-2.html).
123
124
 - [Algo: Plus petite part contenant tous les fruits](http://fr.openclassrooms.com/forum-83-630363-p1-algo-plus-petite-part-contenant-tous-les-fruits.html)
125
votre mission: vous avez un gâteau circulaire constitué de n secteurs égaux. Chaque secteur porte un motif. Au total, il y a p motifs distincts. On vous demande de déterminer une part du gâteau contenant un minimum de secteurs mais ayant les p motifs. Ce qu'on appelle part, c'est une succession de secteurs consécutifs du gâteau.
126
Équipement recommandé: Avoir lu le cours sur [Python](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
127
128
 - [Algo: Chaîne de mots](exercice-chaine-de-mots)
129
Votre mission: Le but est d'écrire un programme qui prend en entrée deux mots et qui retourne un chemin possible permettant de passer de l'un à l'autre en utilisant une chaîne de mots issus du dictionnaire. Pour passer d'un mot à l'autre, la seule opération autorisée est la substitution d'une lettre. On peut noter que tous les mots doivent être de la même longueur, ce qui élimine déjà une bonne partie du dictionnaire.
130
Équipement recommandé: Avoir lu le cours sur [Python](http://fr.openclassrooms.com/tutoriel-3-223267-apprendre-python.html).
131
132
### _Vous avez proposé un exercice dans le forum et vous aimeriez l'ajouter à cette liste ?_
133
134
C'est très simple, il vous suffit de poster un message dans ce sujet, en renseignant :
135
136
 - le niveau que vous estimez nécessaire pour aborder l'exercice (vous avez le choix entre : Débutant, Intermédiaire et Avancé),
137
 - le titre de votre exercice,
138
 - un lien vers le topic de l'exercice,
139
 - et une courte description de l'exercice.
140
141
## Pour garder la forme, il faut faire de l'exercice ! ;)
142
143
Il vous en faut plus ? Pas de problèmes, internet regorge de site proposant des exercices en tout genre.
144
En voici quelques-uns (mais il en existe beaucoup d'autres) :
145
146
 - ![Image utilisateur](http://fr.openclassrooms.com/Templates/images/designs/2/pays/fr.png) - [Prologin](http://www.prologin.org/training)
147
Propose une multitude d'exercices par niveau et permet de valider du code en Python.
148
149
 - ![Image utilisateur](http://fr.openclassrooms.com/Templates/images/designs/2/pays/fr.png) - [France-IOI](http://www.france-ioi.org/algo/)
150
Un site d'entrainement à l'algorithmique.
151
152
 - ![Image utilisateur](http://fr.openclassrooms.com/Templates/images/designs/2/pays/gb.png) - [Project Euler](http://projecteuler.net/)
153
300 exercices de difficulté croissante devant être exécutés en moins d'une minute, avec n'importe quel langage de programmation. Ces challenges lient mathématiques et informatique.
154
155
 - ![Image utilisateur](http://fr.openclassrooms.com/Templates/images/designs/2/pays/gb.png) - [Sphere Online Judge](http://www.spoj.pl/problems/classical/)
156
Près de 7000 problèmes pour la plupart plus fastidieux que ceux du projet Euler devant être résolus avec une limite de temps et de mémoire. Dans le même style, bien qu'il ne propose pas de support Python pour les solutions, il y a Timus Online Judge.
157
158
 - ![Image utilisateur](http://fr.openclassrooms.com/Templates/images/designs/2/pays/gb.png) - [The Python Challenge](http://www.pythonchallenge.com/)
159
Un site d’énigmes pour lequel il faut coder des petits programmes afin de progresser.