Форум сайта python.su
В общем такое дело. Есть строка string = ‘12346789’ и есть список знаков znaki = ('19','28','37','46')
В итоге от этой строки ничего не должно остаться, потому что мы будем постепенно шаг за шагом удалять знак из строки, если он будет найден. То есть в изначальной строке есть число ‘46’ и оно же есть в списке знаков, значит его убираем. Остается строка string = ‘123789’, дальше находим число 37 и так далее. Мне нужно реализовать этот алгоритм, но через if '' in string, что то не очень получается. Пожалуйста, помогите, срочно нужно.
Офлайн
string = '12346789' znaki = ('19', '28', '37', '46') for x in znaki[::-1]: if x in string: print(string) string = string.replace(x, '') print(string)
Отредактировано papuas (Ноя. 28, 2017 15:39:16)
Офлайн
Извините….
Я сам еще новичок полный…
Заглянул мельком…
Не сочтите за наглость ,постараюсь максимально объективно…
Мне думается что автор убирает сначала ‘46’ а потом ‘37’ не потому что они следуют в таком порядке с конца… а просто так получилось что сначала в исходной строке нашелся именно ‘46’ и никакой другой.. .а потом ‘37’… автор не пишет что он их отбирает по принципу расположения в кортеже…. а лишь по принципу - что он нашел первым…
Взял на себя наглось написать пример для любой последовательности знаков, хоть вперемешку как в примере:
string = '12346789' znaki = ('28', '46','19', '37') k=0 while (len(string)>0) and (k<len(znaki)+1): for x in znaki: k+=1 if x in string: print(string) string = string.replace(x, '') k=0 print('Итоговая строка: ',string)
Офлайн