Palindrome in Python

Python Palindrome Problem: Not only is it a highly popular Python exercise, but it's also a frequent interview question in the world of Python jobs. In fact, I recall being tasked with writing a Python palindrome code during an early-stage technical job interview.

In this Practice Python Problems & Efficient Solutions episode, Art will explain how to check if a Python string is a palindrome.

Palindrome in Python problem.

A palindrome is a word, phrase, number, or or Python string that reads the same forward and backward, ignoring spaces, punctuation, and capitalization. In other words, it remains unchanged when its order is reversed. Palindromes are often used as puzzles or wordplay and can be found in various languages.

Examples of palindromic words include,

racecar

civic

level

How to check palindrome in Python.

Python code in the file below checks if a given word is a palindrome or not. Here's how it works step by step:

word = input("Give me a word "): This line prompts the user to input a word, which is then stored in the variable word.

is_palindrome = True: This line initializes a boolean variable is_palindrome to True, assuming that the word is a palindrome until proven otherwise.

for index in range(len(word)//2): This for loop iterates through the characters of the word up to its halfway point (rounded down to the nearest whole number because palindromes can have an odd or even number of characters). It uses range(len(word)//2) to iterate from the beginning of the word to the middle.

if word[index] != word[len(word)-1-index]:: Inside the loop, it checks if the character at the current index (starting from the beginning) is not equal to the character at the corresponding position from the end of the word. If they are not equal, it means the word is not a palindrome.

is_palindrome = False: If a mismatch is found, it sets is_palindrome to False.

After the loop, it checks the value of is_palindrome. If it's still True, it means no mismatches were found, and the word is a palindrome. It prints that the word is a palindrome.

If is_palindrome is False, it means a mismatch was found, and the word is not a palindrome. It prints that the word is not a palindrome.

So, in summary, this code takes user input, iterates through the characters of the word from both ends towards the center, and checks if they match. If any characters don't match, it concludes that the word is not a palindrome; otherwise, it confirms that it is a palindrome.