Bir dize ve bir ondalık sayı olmak üzere 2 giriş verildiğinde, dizenin bu sayıyla çarpımı elde edilir.
Yakalama, sayının bir kayan nokta veya bir tam sayı olabileceğidir.
Dize floor(n)
zamanını ve ardından ilk floor((n-floor(n))*len(string))
harfleri yeniden çıkarmalısınız .
Diğer notlar:
- Giriş her zaman bir kayan nokta olmayacak, bir int olabilir. Böylece 1.5, 1 ve 1.0 mümkündür. Yine de her zaman taban 10'da olacak ve bir istisna istiyorsanız lütfen yorum yapın.
- Dize girdisi boşluk, tırnak işaretleri ve diğer karakterleri içerebilir. Hiçbir satırsonu ya da kontrol karakterleri.
- Doğrudan dize yinelemesi için yerleşik yapı yoktur, hatta python gibi dize çoğaltmasına
'a'*5
izin verilir. Ancak dize eklenmesine izin verilir.
Test senaryoları:
Virgül ve boşluk girişleri ayırır.
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
Son Not:
Yerleşik dize çarpma veya tekrarlama işlevlerini kullanan cevapların bir sürü görüyorum. Bu edilir değil izin verdi. VTC cevabı @ olduğunu o çarpın dize, sadece şamandıra girişi değil, çünkü geçerli olsa. Dolayısıyla, kesin kural şudur: Dizeyi doğrudan çarparsa, yapamazsınız.
join "", ("case") x 2
vs "case" x 2
, Perl 6'da [~] "case" xx 2
vs aynı"case" x 2
direct
Dize yinelenen kaldırmayı öneririm (bu ne anlama geliyor?). Ama sonuçta haklısın