Форум сайта python.su
Здравствуйте подскажите пожалуйста решить задачу.
Дана строка:
string = "af13aadfAF9ASf10p7g"
spisok = ['a', 'f', 13, 'a', 'a', 'd', 'f', 'A', 'F', 9, 'A', 'S', 'f', 10, 'p', 7, 'g']
string = afffffffffffffaadfAFFFFFFFFFASffffffffffpppppppg
Офлайн
osipbananovА что должно быть со списком:
т.е. помножить все встречающиеся числа на предыдущую букву строки
spisok = [13,'a', 'f', 13]
Офлайн
Из списка нужно сделать строку:
string = afffffffffffffaadfAFFFFFFFFFASffffffffffpppppppg
Офлайн
osipbananov
вы намека не поняли. Что если первым будет идти число,а не символ. Может конечно по условии такого быть не может.
Офлайн
JOHN_16
osipbananovвы намека не поняли. Что если первым будет идти число,а не символ. Может конечно по условии такого быть не может.
JOHN_16Да, по условию всегда первый символ буква
osipbananovвы намека не поняли. Что если первым будет идти число,а не символ. Может конечно по условии такого быть не может.
Отредактировано osipbananov (Март 31, 2016 22:16:28)
Офлайн
osipbananov
ну вот примитивный рабочий код:
spisok = ['a', 'f', 13, 'a', 'a', 'd', 'f', 'A', 'F', 9, 'A', 'S', 'f', 10, 'p', 7, 'g'] result = [] for item in spisok: if type(item) == str: result.append(item) else: result.append(result[-1] * (item - 1)) result = ''.join(result) assert result == 'afffffffffffffaadfAFFFFFFFFFASffffffffffpppppppg'
Офлайн
JOHN_16Спасибо, за помощь попробую, в принципе, так я и думал, не мог правильно условие поставить.
osipbananovну вот примитивный рабочий код:
Офлайн