如果我的条件是假的,如何只在python中做一次声明

时间:2010-01-03 01:49:44

标签: python

有没有办法制作这个逻辑:

如果条件为假,我需要做一次声明,如下所示:

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。

4 个答案:

答案 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