Almost done | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Almost done

def get_part(input): if len(input) <= 1: return input num=int(input.split(input[-1],2)[0]) return num*input[-1] def get_line(input): parts=[] for i in input.split(" "): parts.append(get_part(i)) return "".join(parts) n=input() inputs=[] inputs.append(n) for input in inputs: print(get_line(input)) if i input : 4bab 18c 12g outout : bbbbccccccccccccccccccgggggggggggg how to make it output is babbabbabbabccccccccccccccccccgggggggggggg

5th Jan 2017, 10:44 AM
Angel
Angel - avatar
1 Answer
+ 1
using regular expressions to get the number part from the string part. if there is no number part or there is no text part, print the entry data. ^([1-9][0-9]*)([^1-9].*)$ means: it starts with a digit between 1 and 9, following 0 or more digit between 0 and 9. that's the number part. the text part starts after a non digit character appears which may be followed anything. import re def get_part(input): m = re.search('''^([1-9][0-9]*)([^1-9].*)
#x27;'',input) if m is not None: return (int(m.group(1)),m.group(2)) return (1,input) def get_line(input): parts=[] for i in input.split(" "): (count,str)=get_part(i) parts.append(str*count) return " ".join(parts) inputs=[] inputs.append("4a 3c 9o 0") inputs.append("11b 3keke 9") inputs.append("2b0ss 3keke x") inputs.append("l77t is 2n33t") for input in inputs: print(get_line(input)) -------output------- aaaa ccc ooooooooo 0 bbbbbbbbbbb kekekekekeke 9 b0ssb0ss kekekekekeke x l77t is n33tn33t
5th Jan 2017, 12:35 PM
DFX
DFX - avatar