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)
 
    