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

โปรแกรม Python ตรวจสอบ Palindrome ด้วย Recursion


เมื่อต้องการตรวจสอบว่าสตริงเป็น Palindrome หรือไม่โดยใช้ Recursion ใช้ indexing ธรรมดาและฟังก์ชันที่ผู้ใช้กำหนดร่วมกับ Recursion

Palindromes คือสตริงหรือค่าที่อ่านจากซ้ายไปขวาและขวาไปซ้ายมีตัวอักษรเหมือนกันใน index ตามลำดับ

Recursion คำนวณผลลัพธ์ของส่วนเล็กๆ ของปัญหาใหญ่ และรวมส่วนเหล่านี้เพื่อให้คำตอบของปัญหาใหญ่

ตัวอย่าง

def check_palindrome(my_str):
    if len(my_str) < 1:
        return True
    else:
        if my_str[0] == my_str[-1]:
            return check_palindrome(my_str[1:-1])
        else:
            return False

my_string = str(input("Enter the string :"))
print("The string is ")
print(my_string)
if check_palindrome(my_string) == True:
    print("The string is a palindrome")
else:
    print("The string isn't a palindrome")

ผลลัพธ์

Enter the string : MalaM
MalaM
The string is MalaM
The string is a palindrome

คำอธิบาย

  • เมธอด 'check_palindrome' รับสตริงเป็นพารามิเตอร์
  • หากขนาดสตริงน้อยกว่า 1 คืนค่า 'True'
  • มิฉะนั้น ตรวจสอบองค์ประกอบสุดท้ายว่าตรงกับตัวแรกหรือไม่
  • เรียกเมธอดซ้ำบนองค์ประกอบจาก index ที่สองถึงสุดท้าย โดย index สุดท้ายจะถูกตัดออกโดยการออกแบบ
  • มิฉะนั้น ฟังก์ชันคืนค่า False
  • นอกฟังก์ชัน ผู้ใช้ป้อนสตริง
  • แสดงสตริงบนคอนโซล
  • เรียกเมธอดส่งสตริงเป็นพารามิเตอร์
  • หากคำนวณได้ 'True' แสดงข้อความที่เกี่ยวข้อง
  • มิฉะนั้น แสดงข้อความอีกอย่าง