Форум сайта python.su
Всем добрый день. Задача: строку вида “q2r3” перевести в строку вида “qqrrr”.
line1='Q11v6V2f7I18z10s10k3u1M8b19i9Z8C2n11M11N15x4I13f17K5D19X11z2p12T14N8F16t11S8B2a17C18w14' s='' q='' result='' for i in range(len(line1)): try: int(line1[i]) a=str(line1[i]) s+=a except: if s=='': q = line1[i] else: int(s) for n in range(s): result+=str(q) q=line1[i] print(result)
Отредактировано FishHook (Янв. 28, 2018 14:02:36)
Офлайн
ArtyomZaitsev
int - не преобразует значение переменной, эта функция возвращает значение.
line1[i] = int(line1[i])
Офлайн
Спасибо, понял.
Офлайн
import re s ='qQ3Ww4Ee5R9' ch = [i for i in re.split(r'[0-9]+',s) if i] num = [i for i in re.split(r'[^0-9]+',s) if i] out = '' for i,x in enumerate(ch): out += x*int(num[i]) print(out)
Отредактировано vic57 (Янв. 30, 2018 06:33:04)
Офлайн