Учитывая 2 входа, строку и десятичное число, выведите строку, умноженную на это число.
Подвох в том, что число может быть числом с плавающей точкой или целым числом.
Вы должны вывести время строки floor(n)
и затем первые floor((n-floor(n))*len(string))
буквы снова.
Другие заметки:
- Ввод не всегда будет с плавающей точкой, это может быть int. Так что 1,5, 1 и 1,0 все возможно. Это всегда будет в базе 10, хотя, и если вы хотите исключение, пожалуйста, прокомментируйте.
- Строка ввода может содержать пробелы, кавычки и другие символы. Никаких символов новой строки или контрольных символов.
- Встроенные модули для прямого повторения строк
'a'*5
не допускаются , даже умножение строк, например, Python . Однако добавление строки разрешено.
Тестовые случаи:
Запятая и пробел разделяют входы.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Заключительное примечание:
Я вижу много ответов, в которых используются встроенные функции умножения или повторения строк. Это не разрешено @ Ответ VTC в это действует , хотя, потому что он не умножать строку, только вход с плавающей точкой. Таким образом, окончательное правило таково: если оно непосредственно умножает строку, вы не можете это сделать.
join "", ("case") x 2
против "case" x 2
, в Perl 6 [~] "case" xx 2
против того же самого"case" x 2
direct
повторение строки (что это значит?). Но в целом вы правы