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

โปรแกรม Python เพื่อตรวจสอบว่า String เป็น Palindrome หรือไม่โดยใช้ Recursion


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

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

การเรียกซ้ำจะคำนวณเอาต์พุตของบิตขนาดเล็กของปัญหาที่ใหญ่กว่า และรวมบิตเหล่านี้เข้าด้วยกันเพื่อแก้ปัญหาที่ใหญ่กว่า

ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -

ตัวอย่าง

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' รับสตริงเป็นพารามิเตอร์
  • ถ้าขนาดของสตริงน้อยกว่าหนึ่ง 'True' จะถูกส่งกลับเป็นเอาต์พุต
  • มิฉะนั้น องค์ประกอบสุดท้ายในสตริงจะถูกตรวจสอบเพื่อดูว่าตรงกับองค์ประกอบแรกหรือไม่
  • วิธีการนี้ถูกเรียกอีกครั้งในองค์ประกอบจากดัชนีที่สองไปยังดัชนีสุดท้าย โดยที่ค่าดัชนีสุดท้ายจะถูกยกเว้นโดยการออกแบบ
  • มิฉะนั้น ฟังก์ชันจะคืนค่าเท็จ
  • นอกฟังก์ชัน ผู้ใช้จะถูกขอให้ป้อนสตริง
  • สตริงนี้แสดงอยู่บนคอนโซล
  • เมธอดนี้ถูกเรียกโดยการส่งผ่านสตริงนี้เป็นพารามิเตอร์
  • หากค่าของมันคำนวณเป็น "จริง" ข้อความที่เกี่ยวข้องจะแสดงบนคอนโซล
  • มิฉะนั้น ข้อความอื่นจะปรากฏบนคอนโซล