Thuta Learning
AdvancedProgrammingbeginner

Reverse String (Enhanced)

Relax. We'll talk through this in plain words — no textbook voice.

🔄 Lesson 58: Reverse String (String Manipulation in Python)

1. Problem Overview

In short → When you need to reverse a string, Python gives you plenty of ways to do it.

In other words → Reversing a string means flipping the order of its characters.

2. Methods to Reverse String

  • [::-1] → fastest & easiest method
  • reversed() + join() → built-in function
  • Loop method → beginner-friendly
  • Recursion → algorithm practice

3. Summary

[::-1] → fastest & easiest

reversed() + join() → built-in function

✅ Loop/Recursion → educational methods

python
# ===== 1. Using String Slicing =====
text = "Python"
reversed_text = text[::-1]
print(f"Original: {text}")
print(f"Reversed (slicing): {reversed_text}")

# ===== 2. Using reversed() Function =====
print(f"\n===== Using reversed() =====")

text = "Python"
reversed_text = "".join(reversed(text))
print(f"Reversed (reversed()): {reversed_text}")

# ===== 3. Using Loop =====
print(f"\n===== Using Loop =====")

text = "Python"
reversed_text = ""
for char in text:
    reversed_text = char + reversed_text
print(f"Reversed (loop): {reversed_text}")

# ===== 4. Using Recursion =====
print(f"\n===== Using Recursion =====")

def reverse_string(s):
    if len(s) == 0:
        return s
    else:
        return reverse_string(s[1:]) + s[0]

text = "Python"
reversed_text = reverse_string(text)
print(f"Reversed (recursion): {reversed_text}")

# ===== 5. Real-World Example: Palindrome Check =====
print(f"\n===== Palindrome Check =====")

def is_palindrome(s):
    s = s.lower().replace(" ", "")
    return s == s[::-1]

print(f"'radar' is palindrome: {is_palindrome('radar')}")
print(f"'Python' is palindrome: {is_palindrome('Python')}")
You should see
Original: Python Reversed (slicing): nohtyP ===== Using reversed() ===== Reversed (reversed()): nohtyP ===== Using Loop ===== Reversed (loop): nohtyP ===== Using Recursion ===== Reversed (recursion): nohtyP ===== Palindrome Check ===== 'radar' is palindrome: True 'Python' is palindrome: False
Reverse String (Enhanced) | Thuta Learning