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

โปรแกรม Python ตรวจสอบ Palindrome String

กำหนดสตริง งานคือตรวจสอบว่าสตริงนี้เป็น palindrome หรือไม่ (อ่านจากหน้าหลังได้เหมือนกัน)

อัลกอริทึม

  1. รับสตริงเข้ามา
  2. ใช้ string slicing [::-1] กลับสตริง และเปรียบเทียบกับต้นฉบับ
  3. แสดงผล

โค้ดตัวอย่าง


my_string = input("Enter string: ")
if my_string == my_string[::-1]:
    print("The string is a palindrome")
else:
    print("The string isn't a palindrome")

ผลลัพธ์


Enter string: madam
The string is a palindrome

Enter string: python
The string isn't a palindrome

รายละเอียด String Slicing [::-1]

string[::-1] หมายถึง slice ทั้งสตริง step = -1 (ย้อนกลับ) คือกลับลำดับตัวอักษร


>>> "hello"[::-1]
'olleh'
>>> "madam"[::-1]
'madam'

ตัวอย่างขยาย: ไม่สนใจตัวพิมพ์เล็ก/ใหญ่และช่องว่าง


def is_palindrome(s):
    # ลบช่องว่างและแปลงเป็นพิมพ์เล็กทั้งหมด
    cleaned = ''.join(c.lower() for c in s if c.isalnum())
    return cleaned == cleaned[::-1]

# ทดสอบ
tests = ["madam", "Madam", "A man a plan a canal Panama", "race car", "hello"]
for t in tests:
    print(f'"{t}" -> {is_palindrome(t)}')

ผลลัพธ์


"madam" -> True
"Madam" -> True
"A man a plan a canal Panama" -> True
"race car" -> True
"hello" -> False

สรุป: Python ทำ palindrome check ได้ง่ายมากด้วย slicing [::-1] สำหรับการใช้งานจริงควร normalize string ก่อน (lowercase, strip non-alphanumeric)