Является ли число симметричным

Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева нулями.

a = str(a)
if len(a) == 4:
    if a[1] == a[2] and a[0] == a[-1]:
        print('1')
    else:
        print('6')
if len(a) == 3:
    a = '0' + a
    if a[1] == a[2] and a[0] == a[-1]:
        print('1')
    else:
        print('6')

Код проваливается на одном из тестов. Ломаю голову уже 4 час


Ответы (2 шт):

Автор решения: strawdog

Можно так еще:

def symnum(a: int)-> int:
    return int(f"{a:04d}" == f"{a:04d}"[::-1])
print(symnum(111)) # 0
print(symnum(110)) # 1
print(symnum(1221))# 1
print(symnum(3131))# 0
print(symnum(5005))# 1
print(symnum(0))   # 1
→ Ссылка
Автор решения: Эникейщик

Меньше четырёх знаков это не только 3, но и 2, и даже 1.

→ Ссылка