def palindrom():
number = str(input())
if len(number) == 1:
if number == "9":
return "11"
else:
return str(int(number)+1)
else:
if len(number) % 2 == 0:
slicer = int(len(number) / 2)
a, b, c = int(number[:slicer]),int(number[slicer:][::-1]), []
else:
slicer = int((len(number) -1) / 2)
a, b, c = int(number[:slicer]), int(number[slicer+1:][::-1]), [int(number[slicer])]
if a > b:
if len(c) == 0:
return str(a) + str(a)[::-1]
else:
return str(a) + str(c[0]) + str(a)[::-1]
elif a == b or a < b:
if len(c) == 0:
new_a = a + 1
if len(str(new_a)) == len(str(a)):
return str(new_a) + str(new_a)[::-1]
else:
return str(new_a) + str(new_a)[:-1][::-1]
else:
new_a = int(str(a) + str(c[0]))
new_x = new_a + 1
if len(str(new_x)) == len(str(new_a)):
return str(new_x) + str(new_x)[:-1][::-1]
else:
return str(new_x) + str(new_x)[:-2][::-1]
i = int(input())
j = 0
while j < i:
print(palindrom())
j = j + 1
I'm geting time out in this code. Can any of you point out which is the time consuming part here?