在python的if-else循环中,即使在将条件求值为true之后,如何继续该程序?

在python的if-else循环中,即使在将条件求值为true之后,如何继续该程序?,python,Python,我正在实现一个场景,其中我有多个if、elif和else循环。我的问题是当条件满足时,它会从程序中出来并退出程序 预期行为-成功完成后,它不应该退出,而是再次显示要选择的选项。只有在按下类似cntrl+c的按钮后,它才应该退出程序 class Manager: def __init__(self): self.not_useful_tests = [] self.sdsf def sdsf(self): try:

我正在实现一个场景,其中我有多个if、elif和else循环。我的问题是当条件满足时,它会从程序中出来并退出程序

预期行为-成功完成后,它不应该退出,而是再次显示要选择的选项。只有在按下类似cntrl+c的按钮后,它才应该退出程序

class Manager:
    def __init__(self):
        self.not_useful_tests = []
        self.sdsf

   def sdsf(self):

       try:
            input = raw_input()
            if input == 'x':
                self.not_useful_tests.append(0)
            else:
                if input == 1:
                   verify = self.ABC()
                   return verify
                if input == 2:
                    verify = self.xyz()
                    return verify
                if input == 3:
                    verify = self.hyg()
                    return verify
                if input == 4:
                  verify = self.fgh()
                   return verify
                if input == 5:
                   verify = self.qwe()
                   return verify

        except KeyboardInterrupt as e:
            print "Exception caught : " + str(e)
            return None


如何实现这一目标?要在代码中添加什么以完成任务?

要在某些条件为真时重复某些内容,请使用
while
循环:

while True:
    input = raw_input()
    if input == 1:
        return 'some value'
    if input == 2:
        return 'some other value'
如果不希望返回函数结果,而是希望在循环之外继续执行,即“中断循环”,请使用
break

while True:
    input = raw_input()
    if input == 1
        print('doing something')
        break
    if input == 2
        print('doing something else')
        break
print('Continuing here')
如果这是您想要的,您还可以设置一个条件来结束循环,如下所示:

result = None
while result is None:
    input = raw_input()
    if input == 1:
        result = 'x'
    if input == 2:
        result = 'y'
print('will continue here if result has a value')

使用Lambda语句。这比循环优化更多,因为代码应该只检查
'x'
。由于在Python 2.7中使用
raw_输入
,因此永远不会有整数值。@EshanChattaraj不,lambda并不比Python中的循环快。函数调用非常昂贵。@EshanChattaraj-请您提供一些详细的解决方案好吗?@EdwardMinnix-没有代码不应该只检查x。它还应该检查整数。对不起,它的输入错误。它应该同时检查这两个。