Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบประโยคสองประโยคที่คล้ายคลึงกันใน Python


สมมติว่าเรามีสองประโยค s และ t เราต้องเช็คก่อนว่าเหมือนหรือไม่ ประโยคนี้มีแต่ตัวอักษรภาษาอังกฤษ ประโยคสองประโยคถูกกล่าวว่าคล้ายกันเมื่อสามารถเพิ่มประโยคที่กำหนดเอง (อาจว่างเปล่า) ลงในประโยคที่กำหนดเหล่านี้เพื่อให้ทั้งสองประโยคเท่ากัน

ดังนั้น หากอินพุตเป็นเหมือน s ="we live at city Kolkata" t ="city Kolkata" ผลลัพธ์จะเป็น True เพราะเราสามารถรับ s จาก t ได้โดยการเพิ่มประโยค "we live in"

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • s1 :=รายการคำศัพท์ใน s

  • s2 :=รายการคำศัพท์ใน t

  • ถ้าขนาด s1> ขนาด s2 แล้ว

    • สลับ s1 และ s2

  • ขณะที่ s1 ไม่ว่างให้ทำ

    • ถ้า s2[0] เหมือนกับ s1[0] แล้ว

      • ลบคำแรกออกจาก s2

      • ลบคำแรกออกจาก s1

    • มิฉะนั้นเมื่อคำสุดท้ายของ s2 เหมือนกับคำสุดท้ายของ s1 แล้ว

      • ลบคำสุดท้ายออกจาก s2

      • ลบคำสุดท้ายออกจาก s1

    • มิฉะนั้น

      • คืนค่าเท็จ

  • คืนความจริง

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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