Найти - Пользователи
Полная версия: Питон игнорирует int()
Начало » Python для новичков » Питон игнорирует int()
1
ArtyomZaitsev
Всем добрый день. Задача: строку вида “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)

Ругается интерпретатор ( for n in range(s): TypeError: ‘str’ object cannot be interpreted as an integer) и ощущение, что просто игнорирует функцию int(). Help, please.
FishHook
ArtyomZaitsev
int - не преобразует значение переменной, эта функция возвращает значение.
 line1[i] = int(line1[i])
ArtyomZaitsev
Спасибо, понял.
vic57
 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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB