きったんの頭

#! /usr/bin/env python3
"""
pe36.py
https://mind.kittttttan.info/py/pe36
"""

def is_palindromic10(n):
    s = str(n)
    return s == s[::-1]

def is_palindromic2(n):
    s = ''
    while n:
        s += str(n & 1)
        n >>= 1
    return s == s[::-1]

def pe36(limit=1000000):
    """
    Find the sum of all numbers less than one million,
    which are palindromic in base 10 and base 2.
    """
    print(sum([i for i in range(1, limit, 2)
                if is_palindromic10(i) and is_palindromic2(i)]))

if __name__ == "__main__":
    pe36()