Я полный новичок ie в программировании, и я использую «Как думать, как ученый», чтобы ориентироваться на Python.
Я пытаюсь написать функцию это удалит первое вхождение строки из другой строки, например: remove ("an", "banana") == "bana. Цель - не , чтобы использовать встроенный метод, а скорее чтобы создать свою собственную функцию, используя методы нарезки и индексации.
Это то, что я пробовал до сих пор:
def remove(substring, string):
sublen = len(substring)
new_string = ""
for i in range(len(string)):
#test if string slices are different from substring and if they are, add them to new_string
#variable
if string[i:i+sublen+1] != substring:
new_string += string[i:i+sublen+1]
return new_string
Я наткнулся на другой пост, где кто-то задавал тот же вопрос, что и Я сделал ( Напишите функцию, которая удаляет первое вхождение строки из другой строки. ), но я не мог понять, как должны работать предлагаемые решения. Я был бы признателен, если бы кто-то мог указать мне правильное направление, или, по крайней мере, помогите понять, чего мне здесь не хватает.
Заранее большое спасибо!
РЕДАКТИРОВАТЬ благодаря очень полезным комментариям я понял, как реорганизовать мою компанию де, чтобы сделать эту работу:
def remove(substring, string):
sublen = len(substring)
new_string = ""
for i in range(len(string)):
#find if slice of string and substring match.
if string[i:i+sublen] == substring:
#if true add slice and rest of string to new_string
new_string += string[i+sublen:]
break
else:
new_string += string[i] #add only the character = to loop
#variable
return new_string