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

โปรแกรม Python เรียงลำดับคำพาลินโดรมในประโยค

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

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

def check_palindrome(word):
    """ตรวจสอบว่าคำเป็นพาลินโดรมหรือไม่"""
    return word == word[::-1]

def print_sort_palindromes(sentence):
    words = sentence.split()
    palindromes = [w for w in words if check_palindrome(w)]
    palindromes.sort()
    
    # แทนที่คำพาลินโดรมในประโยคเดิมด้วยคำที่เรียงแล้ว
    result = []
    p_idx = 0
    for w in words:
        if check_palindrome(w):
            result.append(palindromes[p_idx])
            p_idx += 1
        else:
            result.append(w)
    
    print("ประโยคต้นฉบับ:", sentence)
    print("ผลลัพธ์:", ' '.join(result))

# ทดสอบ
print_sort_palindromes("hi madam how are u")

ผลลัพธ์

ประโยคต้นฉบับ: hi madam how are u
ผลลัพธ์: hi madam how are u

ในประโยค "hi madam how are u" มีคำพาลินโดรมคือ "madam" เพียงคำเดียว จึงไม่มีการเปลี่ยนแปลงลำดับ หากมีหลายคำพาลินโดรม จะถูกเรียงลำดับตามตัวอักษร