Dati 2 input, una stringa e un numero decimale, producono la stringa moltiplicata per quel numero.
Il trucco è che il numero può essere un float o un numero intero.
Dovresti generare l' floor(n)ora della stringa e poi di nuovo le prime floor((n-floor(n))*len(string))lettere.
Altre note:
- L'input non sarà sempre un float, potrebbe essere un int. Quindi 1.5, 1 e 1.0 sono tutti possibili. Sarà sempre nella base 10 e, se si desidera un'eccezione, si prega di commentare.
- L'input della stringa può contenere spazi bianchi, virgolette e altri caratteri. Non ci sono newline o caratteri di controllo però.
- Non
'a'*5sono ammessi built-in per la ripetizione diretta delle stringhe, anche la moltiplicazione di stringhe come il pitone è consentita. Tuttavia è consentita l' aggiunta di stringhe .
Casi test:
La virgola e lo spazio separano gli input.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Nota finale:
Sto vedendo molte risposte che utilizzano le funzioni di moltiplicazione o ripetizione di stringhe incorporate. Questo non è permesso La risposta di @ VTC è valida, poiché non moltiplica la stringa, ma solo l'input float. Quindi la regola definitiva è: se moltiplica direttamente la stringa, non puoi farlo.
join "", ("case") x 2vs "case" x 2, in Perl 6 [~] "case" xx 2vs lo stesso"case" x 2
directla ripetizione della stringa (cosa significa?). Ma tutto sommato hai ragione