Напишите функцию с именем single_insert_or_delete, который принимает две строки в качестве входных аргументов и возвращает:Одна буква вставки или удаления функции
0, если две строки совпадают точно. 1 если первая строка может стать такой же, как вторая строка, вставив или удалив один символ. Обратите внимание, что вставка и удаление символа не совпадает с заменой символа. 2 иначе
вот что я достиг до сих пор
def single_insert_or_delete (word1,word2):
word1=word1.lower()
word2=word2.lower()
limit=min(len(word1),len(word2))
list1=[]
list2=[]
common=[]
if word1==word2:
return 0
for i in range(0,len(word1)):
list1.append(word1[i])
for k in range(0,len(word2)):
list2.append(word2[k])
if abs(len(word1)-len(word2))==1:
for c in range(0,limit+1):
if list1[c]==list2[c] or list1[c]==list2[c+1] or list1[c+1]==list2[c]:
return 1
else:
return 2
else:
return 2
Это на самом деле работает хорошо, но если вы пробовали хитрые слова, как «тем» и «что» это даст 1 вместо 2 что неверно
Что вы пытаетесь сделать? Пожалуйста, отредактируйте свой вопрос и опишите свой problam * как текст *. Изображение не является приемлемым в качестве вопроса. –
можете ли вы разместить некоторые тестовые примеры для этого метода; я с трудом пытаюсь понять, чего вы пытаетесь достичь. – Pandrei
oh, нажмите на кнопку frist, линия синего цвета, чтобы открыть изображение проблемы. –