Bei 2 Eingaben, einer Zeichenfolge und einer Dezimalzahl, wird die mit dieser Zahl multiplizierte Zeichenfolge ausgegeben.
Der Haken ist, dass die Zahl ein Float oder eine Ganzzahl sein kann.
Sie sollten die Zeichenfolge floor(n)Zeit und dann die ersten floor((n-floor(n))*len(string))Buchstaben erneut ausgeben .
Weitere Hinweise:
- Die Eingabe ist nicht immer ein Float, sondern möglicherweise ein Int. 1,5, 1 und 1,0 sind also alle möglich. Es wird jedoch immer in der Basis 10 sein, und wenn Sie eine Ausnahme wünschen, kommentieren Sie dies bitte.
- Die Zeichenfolge kann Leerzeichen, Anführungszeichen und andere Zeichen enthalten. Keine Zeilenumbrüche oder Steuerzeichen.
- Es gibt keine eingebauten Funktionen für die direkte Wiederholung von Strings. Auch die Multiplikation von Strings wie Python
'a'*5ist nicht erlaubt. Das Hinzufügen von Zeichenfolgen ist jedoch zulässig.
Testfälle:
Das Komma und das Leerzeichen trennen die Eingaben.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Schlussbemerkung:
Ich sehe viele Antworten, die eingebaute Zeichenkettenmultiplikations- oder Wiederholungsfunktionen verwenden. Das ist nicht erlaubt. Die Antwort von @ VTC ist jedoch gültig, da sie nicht den String, sondern nur die Float-Eingabe multipliziert. Die endgültige Regel lautet also: Wenn die Zeichenfolge direkt multipliziert wird, können Sie dies nicht tun.
join "", ("case") x 2vs "case" x 2, in Perl 6 [~] "case" xx 2vs das gleiche"case" x 2
directwiederholten Zeichenfolgen zu entfernen (was bedeutet das?). Aber alles in allem hast du recht