Каков более элегантный способ вернуть True и False с помощью этого оператора if / else в Python? - PullRequest
0 голосов
/ 04 августа 2020

Я все время получаю сообщение об ошибке «Ненужное« else »после« return »'

Что он пытается мне сказать и что было бы более элегантным способом кодирования этого logi c?

for selected_node in NODES:
    if pm.nodeType(selected_node) == 'file':
        msg = 'correct type of nodes selected'
        LOGGER_TEXTURE_SWAP.debug(msg)
        return True
    else:
        msg = 'incorrect type of nodes selected'
        LOGGER_TEXTURE_SWAP.debug(msg)
        return False

1 Ответ

1 голос
/ 04 августа 2020

Я пытаюсь воссоздать logi c вашего фрагмента, использую последнюю python 3.8.3

nodes = ['file', 'folder', 'directory']

for node in nodes:
    if node == 'file':
        print(node)
        return True
    else:
        print('something else')
        return False

и получаю SyntaxError: 'return' внешней функции. Это понятно, поскольку return должен быть выходом функции.

Итак, я делаю это как функцию, как показано ниже.

nodes = ['file', 'folder', 'directory']

def myprogram():
    for node in nodes:
        if node == 'file':
            print(node)
            return True
        else:
            print('something else')
            return False
myprogram()

Теперь я напечатал 'file' и ' Истинный вывод. Итак, python работает должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...