用 Python 编写程序检查两个句子是否相似

pythonserver side programmingprogramming更新于 2025/12/12 23:40:17

假设我们有两个句子 s 和 t。我们必须检查它们是否相似。这里的句子只有英文字母。当可以在其中一个给定的句子中添加任意句子(可能是空的)以使两个句子变得相等时,这两个句子就被认为是相似的。

因此,如果输入像 s = "we live at city Kolkata" t = "city Kolkata",则输出将为 True,因为我们可以通过添加句子 "we live in" 从 t 中获取 s。

为了解决这个问题,我们将遵循以下步骤 −

  • s1 := s 中的单词列表

  • s2 := t 中的单词列表

  • if size of s1 > s2 的大小,然后

    • 交换 s1 和 s2

  • 当 s1 不为空时,执行

    • 如果 s2[0] 与 s1[0] 相同,则

      • 从 s2 中删除第一个单词

      • 从 s1 中删除第一个单词

    • 否则,当 s2 的最后一个单词与 s1 的最后一个单词相同时,然后

      • 从 s2 中删除最后一个单词

      • 从s1

    • 否则,

      • 返回 false

  • 返回 true

示例

让我们看看下面的实现以便更好地理解 −

def solve(s, t):
   s1 = s.split()
   s2 = t.split()
   if len(s1) > len(s2):
      s1,s2 = s2,s1
   while(s1):
      if(s2[0]==s1[0]):
         s2.pop(0)
         s1.pop(0)
      elif(s2[-1]==s1[-1]):
         s2.pop()
         s1.pop()
      else:
         return(False)
   return(True)

s = "we live at city Kolkata"
t = "city Kolkata"
print(solve(s, t))

输入

"we live at city Kolkata", "city Kolkata"

输出

True

相关文章


有用资源