Parcours
/
Python
Python
/
Exercices
/
Gouttes de pluie
Gouttes de pluie

Gouttes de pluie

Facile

Introduction

Gouttes de pluie est une version légèrement plus complexe du défi FizzBuzz, une question classique d'entretien.

Instructions

Ta tâche est de convertir un nombre en ses sons de gouttes de pluie correspondants.

Si un nombre donné :

  • est divisible par 3, ajoute « Pling » au résultat.
  • est divisible par 5, ajoute « Plang » au résultat.
  • est divisible par 7, ajoute « Plong » au résultat.
  • n'est pas divisible par 3, 5 ou 7, le résultat doit être le nombre sous forme de string.

Exemples

  • 28 est divisible par 7, mais pas par 3 ni par 5, donc le résultat serait "Plong".
  • 30 est divisible par 3 et 5, mais pas par 7, donc le résultat serait "PlingPlang".
  • 34 n'est pas divisible par 3, 5 ou 7, donc le résultat serait "34".
Note

Une façon courante de vérifier si un nombre est divisible par un autre est de comparer le reste ou le modulo à zéro. La plupart des langages proposent des opérateurs ou des fonctions pour l'un (ou les deux).

Comment cet exercice est structuré en Python

Cet exercice se résout au mieux avec l'opérateur % (modulo) de Python, qui renvoie le reste de la division entière positive. Il possède un équivalent sous forme de méthode, operator.mod(), dans le module operator.

Python propose aussi d'autres méthodes de « reste » dans le module math. math.fmod() se comporte comme %, mais opère sur des nombres à virgule flottante. math.remainder() implémente un algorithme de « pas le plus proche de zéro » pour le reste de la division. Même si on t'encourage à te familiariser avec ces méthodes, aucune des deux ne donnera exactement le même résultat que %, et elles ne sont pas recommandées pour cet exercice.

La fonction native divmod() donne elle aussi un reste qui correspond à % si on l'utilise avec deux entiers positifs, mais elle renvoie un tuple qu'il faut déballer.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Python Exercism

Prêt à commencer Gouttes de pluie ?

Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.

Analyse approfondie de Gouttes de pluie !

Explore des solutions utilisant des pipelines fonctionnels, la multiplication matricielle, une solution basée sur une table précalculée à l'aide d'une macro, une approche orientée objet, un usage impressionnant de Python et de TCL, et une version entreprise.