Dadas 2 entradas, una cadena y un número decimal, genera la cadena multiplicada por ese número.
El problema es que el número puede ser flotante o entero.
Debería mostrar el floor(n)tiempo de cadena y luego las primeras floor((n-floor(n))*len(string))letras nuevamente.
Otras notas:
- La entrada no siempre será flotante, puede ser un int. Entonces 1.5, 1 y 1.0 son todos posibles. Sin embargo, siempre estará en la base 10, y si desea una excepción, por favor comente.
- La entrada de cadena puede contener espacios en blanco, comillas y otros caracteres. Sin embargo, no hay líneas nuevas ni caracteres de control.
- No hay incorporados para la repetición directa de cadenas, incluso
'a'*5se permite la multiplicación de cadenas como la pitón . Sin embargo, se permite la adición de cadenas .
Casos de prueba:
La coma y el espacio separan las entradas.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Nota final:
Estoy viendo muchas respuestas que usan funciones de multiplicación o repetición de cadenas incorporadas. Esto no esta permitido. Sin embargo, la respuesta de @ VTC es válida, ya que no multiplica la cadena, solo la entrada flotante. Entonces, la regla definitiva es: si multiplica directamente la cadena, no puede hacerlo.
join "", ("case") x 2vs "case" x 2, en Perl 6 [~] "case" xx 2vs lo mismo"case" x 2
directsecuencia de repetición (¿qué significa esto?). Pero en general, tienes razón