Попытка добиться этого выхода палиндрома (python язык). Я пробовал это - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь заставить мои коды печатать эти выходные данные.

вот мой код

outputlist = []
bad_character=['! ', ',']

def is_palindrome(alist):

for element in alist:
for s in word:
    if s is bad_character:
        continue
        my_stack.append(s.lower))

        my_stack_reverse=my_stack[::-1]

        if my_stack_reverse==my_stack

        outputlist.append(True)

        else
        append(False)

            if my_stack_reverse=my_stack
   test_list=['Madam', 'A nut for a jar of Tuna', 'I love DSAG']
   print(is_palindrome(test_list))
   print(test_list)

Я пытаюсь получить это как мой вывод, но получил вывод ошибок:

[True, True, False]

['Madam', 'Орех для банки с тунцом', 'I love DSAG']

1 Ответ

0 голосов
/ 18 января 2020

Код ниже выполняет то, что вы хотите. Убедитесь, что пробелы ('') включены в ваш список bad_character. Я использовал метод replace (), чтобы сделать удаление плохих символов немного чище, и вы можете использовать метод lower () для всей строки сразу, вместо того, чтобы делать это символ за символом. Кроме того, вы можете пропустить if / else в конце функции, добавив сравнение element == element[::-1], потому что это приведет к желаемому логическому значению.

def ispalindrome(alist):
    outputlist = []
    bad_character = [' ']
    for element in alist:
        for character in bad_character:
            element = element.replace(character, '')
        element = element.lower()
        outputlist.append(element == element[::-1])
    return outputlist

test_list = ['Madam', 'A nut for a jar of Tuna', 'I love DSAG']
print(ispalindrome(test_list))
print(test_list)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...