I have a code to check whether a word is palindrome or not:
str = input("Enter the string")
l = len(str)
p = l-1
index = 0
while index < p:
if str[index] == str[p]:
index = index + 1
p = p-1
print("String is a palindrome")
break
else:
print("string is not a palindrome")
If a word is inputted, for example : rotor , I want the program to check whether this word is palindrome and give output as “The given word is a palindrome”.
But I’m facing problem that, the program checks first r and r and prints “The given word is a palindrome” and then checks o and o and prints “The given word is a palindrome”. It prints the result as many times as it is checking the word.
I want the result to be delivered only once. How to change the code?
Advertisement
Answer
Just reverse the string and compare it against the original
string_to_check = input("Enter a string")
if string_to_check == string_to_check[::-1]:
print("This is a palindrome")
else:
print("This is not a palindrome")