необходимо произвести замену в строке аналогично .replace , но без его использования. При поиске возвращает индекс только первого найденного эл-та, а их может быть несколько
Примечание:
your_string[i] = with_this
если список, то логично. А элемент строки разве заменит?
Примечание:
>>> my_replace('mnaamnanamnaam', 'aa', 'A')
'mnaamnanamnaam'
>>> my_replace('mnaamnanamnaam', 'a', 'A')
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
my_replace('mnaamnanamnaam', 'a', 'A')
File "C:\Users\User\Desktop\p.py", line 9, in my_replace
your_string[i] = with_this
TypeError: 'str' object does not support item assignment
python 2.7.3 *
Примечание:
сдал свой вариант :
# -*- coding: cp1251 -*-
import string
osh = '\nне найдено подстроки в строке\n'
otd = '============================\n'
while True:
x = 'manmmaaanamaaanm'; a = 'an' ; b = '--'
pr = x.find(a)
if pr == -1: print osh; continue
# ============================
t,p,g = 0,0,0
ind = []
while t < len(x):
g = x.find(a, p)
if g == -1:
if x[-1] == a: g = len(x); ind.append(g)
print otd, '\nпоиск закончен: ', x.count(a), '\nind:', ind; break
ind.append(g)
t+=1; p=g+1
s = ''
if len(a) == 1:
for i in range(len(x)):
if x[i] == a:
s+=b
if x[i] != a:
s+=x[i]
if len(a) > 1:
i=j=d=0
while i < len(x):
if i != ind[d]:
s+=x[i]
i+=1
if i == ind[d]:
s+=b
i+=len(a)
while j < len(ind)-1:
d+=1
j+=1
break
print '\nдо: %s %s\t' % (a, b) , x, x.count(a)
print 'replaced:\t', s
break
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.