เมื่อจำเป็นต้องย้อนกลับสตริงโดยใช้เทคนิคการเรียกซ้ำ ระบบจะใช้วิธีการที่ผู้ใช้กำหนดพร้อมกับการเรียกซ้ำ
การเรียกซ้ำจะคำนวณเอาต์พุตของบิตขนาดเล็กของปัญหาที่ใหญ่กว่า และรวมบิตเหล่านี้เข้าด้วยกันเพื่อแก้ปัญหาที่ใหญ่กว่า
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
def reverse_string(my_string): if len(my_string) == 0: return my_string else: return reverse_string(my_string[1:]) + my_string[0] my_str = str(input("Enter the string that needs to be reversed : ")) print("The string is :") print(my_str) print("The reversed string is :") print(reverse_string(my_str))
ผลลัพธ์
Enter the string that needs to be reversed : Williw The string is : Williw The reversed string is : williW
คำอธิบาย
- มีการกำหนดเมธอดชื่อ 'reverse_string' ซึ่งรับสตริงเป็นพารามิเตอร์
- ตรวจสอบความยาวของสตริง และถ้าไม่ใช่ 0 ฟังก์ชันจะถูกเรียกอีกครั้งในทุกองค์ประกอบ ยกเว้นองค์ประกอบแรกของสตริง และองค์ประกอบแรกของสตริงจะถูกรวมเข้ากับผลลัพธ์ของสิ่งนี้ ฟังชั่นโทร.
- นอกฟังก์ชัน ผู้ใช้จะถูกขอให้ป้อนสตริงเป็นอินพุต
- สตริงจะแสดงบนคอนโซล
- เรียกฟังก์ชันการเรียกซ้ำโดยส่งสตริงนี้เป็นพารามิเตอร์
- แสดงผลบนคอนโซลเป็นเอาต์พุต