""" euler4.py problem 4 from projecteuler.net: largest numeric palindrome produce of two three digit numbers. """ def is_palindrome(n): """ True if n is a palindrome number >>> is_palindrome(121) True >>> is_palindrome(123) False """ n_str = str(n) return n_str[::-1] == n_str def main(): biggest = 0 best_a = 0 best_b = 0 for a in range(100, 1000): for b in range(a, 1000): n = a * b if is_palindrome(n): if n > biggest: biggest = n best_a = a best_b = b print("answer is a={}, b={}".format(best_a, best_b)) if __name__ == '__main__': import doctest doctest.testmod() main()