Функция, чтобы выйти из другой функции - PullRequest
0 голосов
/ 21 июня 2019

Я хотел создать функцию, которая при вызове в другой функции выходит из предыдущей функции на основе ввода первой функции.

def function_2(checking):
        if checking == 'cancel':
             # I wanted to exit from the function_1
def function_1():
        the_input = input("Enter the text: ")
        function_2(the_input)

Я хотел код для function_2, чтобы онвыходит из function_1, я знаю, что я могу поместить оператор if в function_1 сам, но я плохо его использую, чтобы проверить более одного на входе в одной и той же функции или даже в другой функции, я не могу поставить блок ifвезде это будет выглядеть неорганизованно, поэтому я хочу создать функцию, и будет удобно проверять наличие более одного слова, например, если введено cancel, я хотел выйти из программы, если введено hello, я хотел что-то сделать, чтобысделайте что-нибудь хорошо, но для выхода из текущей функции с помощью другой функции code, пожалуйста, :), если у вас возникнут сомнения в комментарии, постарайтесь дать вам больше информации, используя python 3.xx на Windows8.

1 Ответ

0 голосов
/ 21 июня 2019

Почему бы просто:

def should_continue(checking):
    if checking == 'cancel':
        return False
    return True

def function_1():
    the_input = input("Enter the text: ")
    if not should_continue(the_input):
        return

Это лучшее решение, на мой взгляд.

Другая альтернатива - вызвать исключение, например:

def function_2(checking):
    if checking == 'cancel':
        raise KeyboardInterrupt

def function_1():
    the_input = input("Enter the text: ")
    function_2(the_input)

try:
    function_1()
except KeyboardInterrupt:
    print("cancelled by user")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...