Я думаю, вы неправильно поняли вопрос из того, что я вижу в вашем коде.Вопрос: палиндромное число читается одинаково в обоих направлениях.Наибольший палиндром, составленный из произведения двух двузначных чисел, равен 9009 = 91 × 99. Таким образом, в этом случае палиндромное значение равно 9009, а когда вы читаете его вперед и назад, оно равно 9009. Вопрос, который задают, - это найти два 3Цифровые числа при умножении вместе дают самый большой палиндром.
, поскольку наибольший возможный палиндром для этого равен 913 x 993 = 906609
, поэтому ваш код будет упрощен до этого.
ans = 0
for i in range(100, 999):
for j in range(100, 999):
product = str(i * j)
if int(product) > ans: # check if the value is bigger then the last palindrome.
if product == product[::-1]: # check if it is a palindrome.
ans = int(product)
print(ans)
Вы бы задали вопрос: я бы на самом деле изменил диапазон (1000, 100, -1), поскольку, поскольку мы находим наибольшее, было бы лучше поработать с ним в обратном направлении.