Guest User

EX_PYTHON_OC

a guest
May 7th, 2014
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.
Add Comment
Please, Sign In to add comment