【发布时间】:2017-09-22 19:23:37
【问题描述】:
我试图在执行“退出”用户输入后停止我的函数调用。但未能做到这一点。 下面是我的代码。
> 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()
因此,当我在输入“EXIT”用户输入时尝试退出代码时,它会询问我“请输入您的选择?[y|n]:”,这是我在退出时不想要的。我希望我的代码立即退出。 如果我能做到这一点,请帮助我。
Enter your choice [ALL|AB|BC|EXIT] : exit
Please enter your choice? [y|n]:
【问题讨论】:
-
您在第一次提示后立即调用 ufun().. 这可能就是发生这种情况的原因
-
@ryekayo Yaactaully 我希望该功能只执行一次,即使我提供多个用户输入,例如:AB|BC
-
在这种情况下,我会在您的 EXIT 条件之后添加 exit()。
-
@ryekayo 正如你所建议的,我尝试了同样的方法,但出现以下错误:exit() TypeError: 'str' object is not callable
-
尝试使用 return 而不是 exit()。抱歉,我认为这将是为了杀死程序而存在的东西..
标签: python-2.7