有没有办法制作这个逻辑:
如果条件为假,我需要做一次声明,如下所示:
while 1:
statement1
statement2
if condition: --condition is true here
statement3
else --condition is false here
statement3 --I need to do this "statement3" one time only
if another condition:
break
我的意思是如果速度>我需要发送我的数据3其他只发送一次我的数据。
任何帮助,请
我解决了。我只需要在“Alex Martelli”的解决方案中添加额外的“neverdone = True”
neverdone = True
while 1:
statement1
statement2
if condition:
statement3
neverdone = True
elif neverdone:
neverdone = False
statement3
if anothercondition:
break
非常感谢Alex Martelli。
答案 0 :(得分:3)
添加一个布尔变量:
neverdone = True
while 1:
statement1
statement2
if condition:
statement3
elif neverdone:
neverdone = False
statement3
if anothercondition:
break
答案 1 :(得分:0)
你能不能在break
之后加上statement3
声明?这意味着它将运行一次,然后while
循环将退出。
答案 2 :(得分:0)
你可以使用一个标志,或写一些像:
while 1:
state1()
state2()
state3()
if not condition:
state3 = lambda : None
if another_condition:
break
当条件为假时,Thise将销毁state3。
答案 3 :(得分:0)
如果你想做某事,不要把它放在无限循环(呃)
def dostuff():
statement1
statement2
if condition:
statement3
dostuff()
if not contition:
statement3
while True:
dostuff()
if another condition:
break