DEV Community

Vaarun Sinha
Vaarun Sinha

Posted on β€’ Edited on

3 1

Python Program To Find If A word/number is a palindrome or not.

What Is A Palindrome?

Like every programmer does, let's google it!
πŸ˜‰
googles
A word, phrase, or sequence that reads the same backwards as forwards, e.g madam or nurses run.

Problem

To find if a word/number is a palindrome or not.

Sub Problems

  • Get user input.
  • Check if the input is an integer or string.
  • Reverse the input.
  • Check if the initial input is same as the reversed one.

Pseudo Code

Input = GetUserInput()
reversed_input = reverse(input)

if Input is equal to reversed_input:
print("It Is A Palindrome Number")
else:
print("it is not a palindrome number")
Enter fullscreen mode Exit fullscreen mode

Let's Finally Code It!

  • Get User Input
userInputw = input("Enter The Value:\n") #w for with whitespace
userInput = userInputw.replace(" ", "") #removing whitespace so we can test for phrases like nurses run.
Enter fullscreen mode Exit fullscreen mode
  • Reverse The Input
reversedInput = userInput[::-1]
Enter fullscreen mode Exit fullscreen mode
  • Check If The Initial Input is same as the reversed one.

if reversedInput == userInput:
    print(f"{userInput} is equal to it's reverse {reversedInput} therefore it is a palindrome number.")
else:
     print(f"{userInput} is not equal to it's reverse {reversedInput} therefore it is not a palindrome number.")
Enter fullscreen mode Exit fullscreen mode

Making the Code Reusable

  • To make the code reusable let's put the logic in a function.

def reverse_value(value):
 reversedValue = value[::-1]
 return reversedValue

def is_palindrome(value):
   reversedValue = reverse_value(value)
    if reversedValue == value:
        return True
    else:
         return False

Enter fullscreen mode Exit fullscreen mode

Full Code

def reverse_value(value):
 reversedValue = value[::-1]
 return reversedValue

def is_palindrome(value):
    reversedValue = reverse_value(value)
    if reversedValue == value:
        return True
    else:
         return False

userInputw = input("Enter The Value:\n")

userInput = userInputw.replace(" ", "")

isPalindrome = is_palindrome(userInput)

if isPalindrome:
    print(f"{userInputw} is equal to it's reverse {userInputw} therefore it is a palindrome.")
else:
     print(f"{userInput} is not equal to it's reverse {reverse_value(userInput)} therefore it is not a palindrome.")

Enter fullscreen mode Exit fullscreen mode

Key Takeaways:

  • [::-1] Reverses a string.
  • string.replace(" ", "") replaces all whitespaces with no whitespaces.
  • Before jumping right into code, break the problem Into sub problems then do some pseudo code, then write the code. After That You can optimise it.
  • Implement this if the problem is hard or you cannot exactly think what to code. or else it is a time waster for easy problems.
  • Make The Code Reusable.

Run it on repl

Github: https://github.com/Dev2212/Palindrome-Finder-In-Python

HAPPY CODING!

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (1)

Collapse
 
vaarun_sinha profile image
Vaarun Sinha β€’ β€’ Edited

Feedback is highly appreciated! This is my first post on dev.to hope you enjoy it and I hope you could learn something new from it.

AWS Q Developer image

Your AI Code Assistant

Ask anything about your entire project, code and get answers and even architecture diagrams. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Start free in your IDE

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay