Posted By: Anonymous
I’m trying to make a program which checks if a word is a palindrome and I’ve gotten so far and it works with words that have an even amount of numbers. I know how to make it do something if the amount of letters is odd but I just don’t know how to find out if a number is odd. Is there any simple way to find if a number is odd or even?
Just for reference, this is my code:
a = 0 while a == 0: print("n n" * 100) print("Please enter a word to check if it is a palindrome: ") word = input("?: ") wordLength = int(len(word)) finalWordLength = int(wordLength / 2) firstHalf = word[:finalWordLength] secondHalf = word[finalWordLength + 1:] secondHalf = secondHalf[::-1] print(firstHalf) print(secondHalf) if firstHalf == secondHalf: print("This is a palindrom") else: print("This is not a palindrom") print("Press enter to restart") input()
if num % 2 == 0: pass # Even else: pass # Odd
% sign is like division only it checks for the remainder, so if the number divided by
2 has a remainder of
0 it’s even otherwise odd.
Or reverse them for a little speed improvement, since any number above 0 is also considered “True” you can skip needing to do any equality check:
if num % 2: pass # Odd else: pass # Even