Dual Palindromes

Starting at S+1, we search for numbers that are palidromic in at least two bases, until we have found N numbers.

def convertBase(num,base):
    chars = '0123456789'
    if num < base: return chars[num]
    else: return convertBase(num//base,base)+chars[num%base]

def isPalindrome(num):
    for i in range(len(str(num))):
        if str(num)[i] != str(num)[i*-1-1]:
            return False
    return True

def search(n,s):
    res = []
    currentNum = s+1
    while len(res) < n:
        palidromicBases = 0
        for base in range(2,11):
            if isPalindrome(convertBase(currentNum,base)):
                palidromicBases += 1
        if palidromicBases >= 2:
            res.append(currentNum)
        currentNum += 1
    return res

def main():
    with open('dualpal.in','r') as fIn:
        n, s = [int(i) for i in fIn.read().split(' ')]
    res = search(n, s)
    with open('dualpal.out','w') as fOut:
        fOut.write(''.join([str(i)+'\n' for i in res]))

if __name__ == '__main__':
    main()