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

ตรวจสอบว่าสตริงเป็น Colindrome ใน Python


สมมติว่าเรามีสตริง s เราต้องตรวจสอบว่าสตริงที่กำหนดเป็น colindrome หรือไม่ Colindrome คือสตริงที่ต่อกันมาจาก palindrome ความยาว 6

เช่น ถ้าอินพุตเป็น s = "aabbaamnoonm" ผลลัพธ์จะเป็น True เนื่องจากมี palindrome "aabbaa" และ "mnoonm" ทั้งคู่ยาว 6

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

  • ถ้าขนาดของ s ไม่ใช่พหุคูณของ 6 แล้ว
    • คืนค่า False
  • สำหรับ i ในช่วง 0 ถึงขนาดของ s - 1 เพิ่มทีละ 6 ทำ
    • ถ้า s[จากดัชนี i ถึง i+5] ไม่ใช่ palindrome แล้ว
      • คืนค่า False
  • คืนค่า True

ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

ตัวอย่าง

def is_palindrome(s):
    return s == s[::-1]

def solve(s):
    if len(s) % 6 != 0:
        return False
    for i in range(0, len(s), 6):
        if not is_palindrome(s[i : i+6]):
            return False
    return True

s = "aabbaamnoonm"
print(solve(s))

อินพุต

"aabbaamnoonm"

ผลลัพธ์

True