Моя функция имеет три строковых параметра, то есть строку, поиск и замену. Если параметр поиска является пустой строкой, то предполагается, что функция должна вставить заменяемый параметр перед первым параметром, между каждым символом старой строки и после последнего символа старой строки. Вот то, что я сделал до сих пор:Создайте новую строку из старой строки с помощью python (1)
def main():
s='I am going go'
x=""
y='aa'
print(rep_str(s,x,y))
def rep_str(s, x, y):
if x in s:
result = ''
i = 0
while i < len(s):
if s[i : i + len(x)] == x:
result += y
i += len(x)
else:
result += s[i]
i += 1
elif x not in s:
result= s
else:
if x=="":
result=y
for ch in s:
result+=(ch+y)
return result
main()
Я разработал каждое условие отдельно и поместить их в целом в функции, когда я получил удовлетворительный результат от них. Последнее условие оставалось в отдельном режиме, но оно не работает в функциональном модуле. Я не знаю, в чем проблема с кодом. Буду признателен, если кто-то может дать мне несколько указателей. Благодаря
Мой выход для последнего другое условие должно быть:
aaIaa aaaaamaa aagaaoaaiaanaagaa aagaaoaa
'x' либо' в s' или 'не в s', чем' иначе, как вы думаете, может случиться? :) – roippi
'' будет в любой последовательности. например, '' 'в' cobra'' → True – zhangxaochen
Последнее условие: если второй параметр является пустой строкой, то новая строка должна начинаться с третьего параметра, поместить третий параметр между каждым символом старой строки и завершить с третьим параметром. –