диапазон палиндрома в питоне

Мне 15 дней, чтобы изучить Python, и мне нужно ваше руководство для каждого шага в приведенном ниже коде. Этот код проверяет наибольший палиндром, составленный из произведения двух трехзначных чисел.

очень извиняюсь за глупейший вопрос.

largest_palindrome = 0
for x in range(999,100,-1):
    for y in range(x,100,-1):
        product = x*y
        check = str(x*y)
        if check ==  check[::-1]:
            if product > largest_palindrome:
                largest_palindrome = product
print(largest_palindrome) ```

 - Need clarification on the below:

for x in range(999,100,-1): #why is -1 introduced here. what is the range it is checking in (999,100,-1)
for y in range(x,100,-1): # why is x introduced in y loop. how much times it will check the range.
product = x*y
check = str(x*y)# why is string introduced here ?

if check ==  check[::-1]: # what does this line mean?
if product > largest_palindrome:
largest_palindrome = product

print(largest_palindrome)


person Kamesh A    schedule 08.02.2021    source источник


Ответы (1)


для x в диапазоне (999,100,-1): #почему здесь представлено -1. в каком диапазоне он проверяется (999 100, -1)

Ответ: x повторяется от 999 до 100, уменьшаясь на 1 в каждом цикле.

for y in range(x,100,-1): # почему x вводится в цикл y. сколько раз он будет проверять диапазон.

Ответ: y повторяется от x (из верхнего цикла) до 100. Этот цикл будет выполняться для каждого значения x из верхнего цикла.

check = str(x*y)# почему здесь введена строка?

Ответ: преобразование произведения из int в str, чтобы мы могли обратить число. Ниже возможно для строки не для int, поэтому она преобразуется в строку

if check == check[::-1]: # что означает эта строка?

Ответ: check[::-1] — это обратная строка chech. Здесь мы проверяем, совпадают ли перевернутая строка и неперевернутая строка (паллиндром, если они совпадают)

person Gopal Gautam    schedule 08.02.2021
comment
Гопал большое спасибо. действительно ценю - person Kamesh A; 08.02.2021
comment
из приведенного выше кода, где он проверяет, является ли это самым большим палиндромом? также, если я хочу увидеть весь палиндром, как мне изменить код. - person Kamesh A; 08.02.2021
comment
Первоначально вы предполагаете произвольный самый большой палиндром с: наибольший_палиндром = 0 [строка 1]. Позже во время цикла вы проверяете, не нашли ли вы другое значение, большее, чем текущее, и если это так, оно присваивает наибольшее значение наибольшему_палиндрому [строка 7-8]. Если вы хотите увидеть весь паллиндром до строки 7, введите это: print(product) - person Gopal Gautam; 09.02.2021
comment
еще раз спасибо Гопал - person Kamesh A; 09.02.2021