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

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

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

ตัวอย่าง: s = "we live at city Kolkata", t = "city Kolkata" ผลลัพธ์ True เพราะเพิ่ม "we live at" เข้า t ได้ s

วิธีแก้ปัญหา

  1. s1 := s.split(), s2 := t.split()
  2. ถ้า len(s1) > len(s2) สลับกัน
  3. วนลูป while s1:
    • ถ้า s2[0] == s1[0]: ลบคำแรกทั้งคู่
    • มิฉะนั้นถ้า s2[-1] == s1[-1]: ลบคำสุดท้ายทั้งคู่
    • มิฉะนั้น: คืน False
  4. คืน 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