Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 두 문장이 유사한지 확인하는 프로그램

<시간/>

두 개의 문장 s와 t가 있다고 가정합니다. 유사 여부를 확인해야 합니다. 여기 문장에는 영문자만 있습니다. 주어진 문장 중 하나에 임의의 문장(비어 있을 수 있음)을 추가하여 두 문장이 같아질 수 있는 경우 두 문장이 유사하다고 합니다.

따라서 입력이 s ="we live at city Kolkata" t ="city Kolkata"와 같으면 "we live in" 문장을 추가하여 t에서 s를 얻을 수 있으므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • s1 :=s의 단어 목록

  • s2 :=t의 단어 목록

  • s1의 크기> s2의 크기인 경우

    • s1과 s2를 교환

  • s1이 비어 있지 않은 동안 수행

    • s2[0]이 s1[0]과 같으면

      • s2에서 첫 단어 삭제

      • s1에서 첫 단어 삭제

    • 그렇지 않으면 s2의 마지막 단어가 s1의 마지막 단어와 같을 때

      • s2에서 마지막 단어 삭제

      • s1에서 마지막 단어 삭제

    • 그렇지 않으면

      • 거짓 반환

  • 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