停止功能调用

时间:2017-09-22 19:23:38

标签: python-2.7

我正在尝试在执行“退出”用户输入后停止我的函数调用。但未能实现这一目标。 以下是我的代码。

> def ufun():
>         while True:
>                 uipt = str(raw_input('Please enter your choice? [y|n]:'))
>                 if uresp == "y":
>                         ufun.uipt = "y"
>                         break
>                 elif uresp == "n":
>                         ufun.uipt = "n"
>                         break
>                 else:
>                         print("Please enter either [y|n]") def anofunc():
> 
> def anofunc():
>         ulist = str(raw_input('Enter your choice [ALL|AB|BC|EXIT] : ')).upper()
>         ufun()
>         if ulist == "ALL":
>            #execute something
>         elif ulist == "AB":
>            #execute something
>         elif ulist == "BC":
>            #execute something
>         elif ulist == "EXIT":
>            return
>         else:
>            print "Please enter a valid option"
>            anofunc() 
anofunc()

因此,当我在输入“退出”用户输入时尝试退出代码时,它会询问我“请输入您的选择?[y | n]:”退出时我不想要。我希望我的代码立即退出。 如果我能做到这一点,请帮助我。

Enter your choice [ALL|AB|BC|EXIT] : exit
Please enter your choice? [y|n]:

1 个答案:

答案 0 :(得分:0)

在调用ufun()函数之前,应该检查EXIT的条件。现在,自检查结束后,这将调用显示文本的ufun()函数'请输入您的选择? [Y | N]:'

另外,在ufun()函数的最后一个条件中,我认为你试图调用anofunc()函数。为此,您只需编写没有def的anofunc()。 def用于定义函数定义。

你也经常一次又一次地调用每个功能,我认为这不是你打算做的。例如,如果您键入除exit之外的其他内容并在之后键入EXIT,则在返回调用后仍将返回早期函数。如果我没有错,你会不断询问用户他们想要做什么,直到他们输入退出。

执行此操作的一种方法是将while循环带到anofunc()函数:

def ufun():
    uipt = raw_input('Please enter your choice? [y|n]:')
    if uipt == "y":
        ufun.uipt = "y"
    elif uipt == "n":
        ufun.uipt = "n"
    else:
        print("Please enter either [y|n]")

def anofunc():
    while True:
        ulist = raw_input('Enter your choice [ALL|AB|BC|EXIT] : ').upper()
        if ulist == "EXIT":
            break
        ufun()
        if ulist == "ALL":
            #execute something
        elif ulist == "AB":
            #execute something
        elif ulist == "BC":
            #execute something
        else:
            print("Please enter a valid option")
anofunc()