在python的if-else循环中,即使在将条件求值为true之后,如何继续该程序?
我正在实现一个场景,其中我有多个if、elif和else循环。我的问题是当条件满足时,它会从程序中出来并退出程序 预期行为-成功完成后,它不应该退出,而是再次显示要选择的选项。只有在按下类似cntrl+c的按钮后,它才应该退出程序在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:
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。它还应该检查整数。对不起,它的输入错误。它应该同时检查这两个。