is_odd_length_palindrome

is_odd_length_palindrome


Section 1 | Problem 2


๐Ÿ“ Function: is_odd_length_palindrome

Let’s solve your problem step by step!

๐Ÿšฉ What does the function do?

  • Checks if the input string is a palindrome with an odd length.
    • Palindrome: reads the same forwards and backwards (e.g., 'madam', 'radar').

๐Ÿง‘โ€๐Ÿ’ป How Would the Function Look?

def is_odd_length_palindrome(s):
    # First, check if the length of s is odd
    if len(s) % 2 == 0:
        return False
    # Next, check if s is a palindrome
    return s == s[::-1]

๐Ÿ” Step by Step Explanation

  1. Check Length:
    • Use len(s) % 2 == 0 to see if the string has even length. If yes, immediately return False.
  2. Check Palindrome:
    • Use s == s[::-1] to check if the string looks the same backwards.

๐Ÿค” Example Practice Questions

1. Is 'racecar' an odd-length palindrome?

  • Length of 'racecar' = 7 (odd).
  • 'racecar'[::-1] = 'racecar' (it matches!).
  • Answer: True

2. Is 'abba' an odd-length palindrome?

  • Length = 4 (even).
  • Even though 'abba' is a palindrome, the length isn’t odd.
  • Answer: False

3. Is 'hello' an odd-length palindrome?

  • Length = 5 (odd).
  • 'hello'[::-1] = 'olleh' (not a palindrome).
  • Answer: False

๐Ÿงช Practice: Try Out Yourself!

Fill in the blanks and check your answer:

# Practice 1
print(is_odd_length_palindrome('level'))  # _______

# Practice 2
print(is_odd_length_palindrome('noon'))   # _______

# Practice 3
print(is_odd_length_palindrome('rotor'))  # _______

โœ… Solutions

# Practice 1
print(is_odd_length_palindrome('level'))  # True

# Practice 2
print(is_odd_length_palindrome('noon'))   # False

# Practice 3
print(is_odd_length_palindrome('rotor'))  # True

โœจ Summary

  • String is palindrome: Same forward and backward.
  • Odd length: Length is not divisible by 2.
  • Function returns True only if both conditions are met!

Happy Coding! ๐ŸŽ‰