python. как можно расписать метод string.replace без его использования?

Компьютеры программирование программы windows python

необходимо произвести замену в строке аналогично .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
Ответы:
def my_replace (your_string, replace_this, with_this):
   i = 0
   for ch in your_string:
       if ch == replace_this:
            your_string[i] = with_this
      i += 1
   return your_string


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.