My code that checks if a given number is palindrome or not doesn't work

60 Views Asked by At
var1 = int(input("enter a number:"))
num = str(var1)[::-1]

if var1 == num:
    print("its a palindrome")
else:
    print("its not a palindrome")

enter a number:121 ---> expected "its a palindrome"

its not a palindrome

enter a number:123 its not a palindrome

Why doesn't the code work in the first example?

3

There are 3 best solutions below

0
Om Soni On

While comparing, convert var1 to string:

var1 = int(input("enter a number:"))
num = str(var1)[::-1]

if str(var1) == num:
    print("its a palindrome")
else:
    print("its not a palindrome")
0
Jay Desai On

try this,

  1. Convert the number to string format using str() function.
  2. Using string slicing, reverse the number.
  3. Check if the reversed number matches the original number.
num = int(input("Enter number : " ))
reverse = int(str(num)[::-1])

if num == reverse:
   print("Palindrome")
else:
   print("Not Palindrome")
0
Ravshanjon Ahmadjonov On

Because the variable types are not the same:

var1 = int(input("enter a number:"))
num = str(var1)[::-1]
var2 = int(num)

if var1 == var2:
    print("its a palindrome")
else:
    print("its not a palindrome")

you need convert to integer type, or:

var1 = input("enter a number:")
var2 = var1[::-1]
if var1 == var2:
    print("its a palindrome")
else:
    print("its not a palindrome")