def is_palindrome(n): text = str(n) length = len(text) if text[0] == text[-1]: if length%2 == 0: #even length for i in range(length/2): if not text[i] == text[-(i+1)]: return False return True else: #odd length for i in range((length-1)/2): if not text[i] == text[-(i+1)]: return False return True else: return Falsedef generate_palindromes(): palindrome_list = [] for i in range(100,1000): for j in range(100,1000): if is_palindrome(i*j): palindrome_list.append(i*j) return palindrome_listdef find_largest(list): largest = 0 for L in list: if L > largest: largest = L return largestprint find_largest(generate_palindromes())