Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2018 13:53:43

ArtyomZaitsev
Зарегистрирован: 2018-01-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон игнорирует int()

Всем добрый день. Задача: строку вида “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 (Янв. 28, 2018 14:02:36)

Офлайн

#2 Янв. 28, 2018 14:04:19

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Питон игнорирует int()

ArtyomZaitsev
int - не преобразует значение переменной, эта функция возвращает значение.

 line1[i] = int(line1[i])



Офлайн

#3 Янв. 28, 2018 14:41:53

ArtyomZaitsev
Зарегистрирован: 2018-01-28
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон игнорирует int()

Спасибо, понял.

Офлайн

#4 Янв. 29, 2018 21:25:31

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Питон игнорирует int()

 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version