Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 13, 2016 09:07:39

Valera_idi_syuda
Зарегистрирован: 2015-10-09
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Как определяется самый длинный из палиндромов?

Привет. Ниже код, который определяет есть ли в стороке подстрока-палиндром. Но я не могу понять, как этот код определяет самый длинный из них…

 def longest_palindromic(text):
    for l in range(len(text)+1, 1, -1):
        for i in range(len(text) - l + 1):
            s = text[i:i+l]
            if s == s[::-1]:
                return s

Офлайн

#2 Авг. 13, 2016 12:06:16

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Как определяется самый длинный из палиндромов?

Valera_idi_syuda
Но я не могу понять, как этот код определяет самый длинный из них…
по сути в l идет перебор от максимальной возможной до 1 длина слова
а i это смещение
 def longest_palindromic(text):
    for l in range(len(text)+1, 1, -1):
        for i in range(len(text) - l + 1):
            print(i, l)
            s = text[i:i+l]
            if s == s[::-1]:
                return s
print longest_palindromic('qweewqvdv uiu pop lol')
посмотрите вывод и станет все понятно



————————————————
-*- Simple is better than complex -*-

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version