Как выйти из вложенных функций

Я делаю сервис чат-бота с помощью Django.

А мой код вызывает функцию в другой функции, чтобы получить ответ.

Мой код выглядит следующим образом:

def chat_view(request):
    user_input = request.GET.get('user_input')
    answer = flow(user_input)
    if len(answer) > 1:
        # Give the user a choice
    return HttpResponse(answer)


def flow(user_input):
    data = get_data(user_input)

    # if len(data) > 1:
    #     data_list = data
    #     return data_list
    answer = get_answer(data)
    return answer


def get_data(user_input):
    data = query_db_with_user_input(user_input)

    if len(data) > 1:
        # At this point, I want to give the user a choice to choose one data.
        # But to do that, I can pass it to the user after exiting the flow function.
        # So, I need to put ``if len(data) >1: something`` in the flow function and chat_view function.
        data_list = data
        return data_list
    return data

def get_answer(data):
    answer = f'Data is {data}'
    return answer

Когда данные соответствуют определенному условию, я хочу вывести все вложенные функции и дать ответ пользователю.

Однако, если я пишу это как комментарий, код становится слишком грязным и сложным для сопровождения.

Неважно, придется ли мне вырывать и исправлять кодовую базу.

Имеет ли это какое-либо отношение к паттернам проектирования?

Пожалуйста, дайте мне решение или совет.

Вернуться на верх