Трудность обнаружения пустого списка - PullRequest
0 голосов
/ 30 сентября 2018

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

Я посмотрел другие вопросы / ответы здесь накак проверить, является ли список пустым, но я не смог найти ничего, имеющего отношение к моей функции, где я создаю список в цикле for и мне нужно проверить, содержит ли создаваемый список что-нибудь.Примеры, которые я нашел, были только проверкой готовых списков.

Это код, который работает для создания списка палиндромов в необходимом формате:

def is_palindrome(words):

    """Returns the palindromes from a list of words."""
    print("\nThe following palindromes were found: ")
    for word in words:
        if word == word[::-1] and len(word) >= 3:
            print(' -', word)

И это была моя попытка:

def is_palindrome(words):

    """Returns the palindromes from a list of words."""
    print("\nThe following palindromes were found: ")
    palindromes = []
    for word in words:
        if word == word[::-1] and len(word) >= 3:
            palindromes.append(word)
            if palindromes != []:
                print(' -', word)
            else:
                print('None found...')

Но «ничего не найдено» никогда не печатается.

Советы относительно того, где я иду не так, очень приветствуются, спасибо.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Просто сделай not:

palindromes = []
for word in words:
    if word == word[::-1] and len(word) >= 3:
        palindromes.append(word)
if not palindromes:
    print('None found...')
0 голосов
/ 30 сентября 2018

Попробуйте:

for word in words:
    if word == word[::-1] and len(word) >= 3:
        palindromes.append(word)
        print('palindrome - ',word)
if len(palindromes)==0:
    print('None found...')

ИЛИ:

for word in words:
    if word == word[::-1] and len(word) >= 3:
        palindromes.append(word)
        print('palindrome - ',word)
if not palindromes:
    print('None found...')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...