用Python编写检查两个句子是否相似的程序
假设我们有两个句子s和t。 我们必须检查它们是否相似。 这里的句子只包含英文字母。 当我们可以在给定句子中添加任意句子(可能为空),以使两个句子变得相等时,就会认为两个句子相似。
因此,如果输入为s =“我们住在Kolkata市”t =“Kolkata市”,则输出为True,因为我们可以通过添加句子“我们住在”从t中获得s。
为了解决这个问题,我们将遵循以下步骤:
- s1:s中的单词列表
-
s2:t中的单词列表
-
如果s1的大小> s2的大小,则
- 交换s1和s2
- 当s1不为空时,执行以下操作
- 如果s2 [0]与s1 [0]相同,则
- 从s2中删除第一个单词
-
从s1中删除第一个单词
-
否则当s2的最后一个单词与s1的最后一个单词相同时,则
- 从s2中删除最后一个单词
-
从s1中删除最后一个单词
-
否则,
- 返回false
- 如果s2 [0]与s1 [0]相同,则
- 返回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 = "我们住在Kolkata市"
t = "Kolkata市"
print(solve(s, t))
输入
"我们住在Kolkata市",“Kolkata市”
输出
True