Python извлекает данные из ниоткуда (?)Python

Программы на Python
Ответить
Anonymous
 Python извлекает данные из ниоткуда (?)

Сообщение Anonymous »

В настоящее время я выполняю несколько тестов, чтобы подготовиться к собеседованию, чтобы найти самый длинный палиндром, и по какой-то причине Python извлекает данные, которые не должны были этого делать.
Краткое резюме о проблеме... Если вы прочитаете код и вывод ниже, единственная часть кода, в которую я что-либо вставляю longest_palindrome находится внутри одного оператора IF. Я также добавил функцию print(), чтобы перехватывать любые данные, полученные из оператора IF, и по какой-то причине, даже если она не печатает ['b', 'a', 'b', 'a'], в результате я получаю ['b', 'a', 'b', 'a'] ???
Версия Python Я использую:

3.11.10 | упаковано conda-forge | (main, 16 октября 2024, 01:19:04) [GCC 13.3.0]

Вот код
КОД
def longestPalindrome(s: str) -> str:
aux = 0
while True:
if s[-(aux+1)] not in s[:-(aux+1)]:
aux+=1
else:
break
s = s if aux == 0 else s[:len(s)-aux]

longest_palindrome= []
for idx, value in enumerate(s):
current = [value]
if value not in s[idx+1:]:
continue
for v in (s[idx+1:]):
current.append(v)
if current == list(reversed(current)):
print('if logic current=', current)
longest_palindrome = current if len(longest_palindrome) < len(current) else longest_palindrome
return longest_palindrome

res = longestPalindrome("babad")
print('resut:', res)

ВЫВОД
if logic current= ['b', 'a', 'b']
if logic current= ['a', 'b', 'a']
result: ['b', 'a', 'b', 'a']


Подробнее здесь: https://stackoverflow.com/questions/792 ... om-nowhere
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»