Rutas
/
Python
Python
/
Ejercicios
/
Gotas de lluvia
Gotas de lluvia

Gotas de lluvia

Fácil

Introducción

Gotas de lluvia es una versión un poco más compleja del reto FizzBuzz, una pregunta clásica en las entrevistas de trabajo.

Instrucciones

Tu tarea consiste en convertir un número en los sonidos de gota de lluvia que le corresponden.

Dado un número:

  • si es divisible por 3, añade «Pling» al resultado.
  • si es divisible por 5, añade «Plang» al resultado.
  • si es divisible por 7, añade «Plong» al resultado.
  • si no es divisible por 3, 5 ni 7, el resultado debe ser el número como string.

Ejemplos

  • 28 es divisible por 7, pero no por 3 ni por 5, así que el resultado sería "Plong".
  • 30 es divisible por 3 y por 5, pero no por 7, así que el resultado sería "PlingPlang".
  • 34 no es divisible por 3, 5 ni 7, así que el resultado sería "34".
Note

Una forma habitual de comprobar si un número es divisible entre otro sin que quede residuo es comparar el residuo o el módulo con cero. La mayoría de los lenguajes proporcionan operadores o funciones para una de estas operaciones, o para ambas.

Cómo está estructurado este ejercicio en Python

Este ejercicio se resuelve mejor con el operador % (módulo) de Python, que devuelve el residuo de una división entera de números positivos. Tiene un método equivalente, operator.mod(), en el módulo operator.

Python también ofrece otros métodos de «residuo» en el módulo math. math.fmod() se comporta como %, pero opera con números de coma flotante. math.remainder() implementa un algoritmo de «paso más cercano a cero» para el residuo de una división. Aunque te animamos a que te familiarices con estos métodos, ninguno de los dos coincide exactamente con el resultado de %, por lo que no se recomiendan para este ejercicio.

La función integrada divmod() también devuelve un residuo que coincide con el de % si se usa con dos números enteros positivos, pero devuelve una tuple que hay que desempaquetar.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Python Exercism

¿Listo para empezar Gotas de lluvia?

Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.

¡Análisis en profundidad de Gotas de lluvia!

Explora soluciones que usan canalizaciones funcionales, multiplicación de matrices, una solución precalculada basada en tablas mediante una macro, un enfoque orientado a objetos, un uso impresionante tanto de Python como de TCL y una edición empresarial.