here is my code... It's considering only 8 and 88 among 1 to 100 which aren't karpekar numbers...failing at if condition(s==n)
def kaprekarNumbers(p, q):
for i in range(p,q+1):
n=i
m=str(i*i);
sl1=m[:int(len(m)/2)]
sl2=m[int(len(m)/2):]
if(sl2==""):
sl2=0
s=int(sl2)+int(sl2)
print(s==n)
if s==n:
print(i)